1、MyBatisPlus是什么
2、MyBatisPlus使用方法
3、MyBatisPlus常见注解
4、MyBatisPlus配置文件有哪些配置,作用是什么
5、Wrapper有什么作用?有哪些对象
1,MyBatisPlus是什么
是MyBatis 的增强工具,在MyBatis的基础上只增强,不修改现有的MyBatis配置和注解,是一个提升效率的工具
2,使用方法
①先导入MyBatisPlus
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.12</version>
</dependency>
②创建和表哦对应的javabean,javabean名字就是数据库的表名
比如
@Data
@SuperBuilder
@NoArgsConstructor
public class NursingProject {
public Long id; // 主键
public LocalDateTime createTime; // 创建时间
public LocalDateTime updateTime; // 更新时间
private Long createBy; // 创建人
private Long updateBy; // 更新人
private String remark; // 备注
private String name; // 名称
private Integer orderNo; // 排序号
private String unit; // 单位
private BigDecimal price; // 价格
private String image; // 图片
private String nursingRequirement; // 护理要求
private Integer status; // 状态(0:禁用,1:启用)
}
③创建mapper接口,这个接口文件需要继承BaseMapper需要将对应的JavaBean传入泛型
@Mapper
public interface NursingProjectMapper extends BaseMapper<NursingProject> {
}
④调用
增删改查
@SpringBootTest
public class MyBatisPlusTest {
@Autowired
private NursingProjectMapper nursingProjectMapper;
/***
* 增加
*/
@Test
public void testAdd(){
//添加对象实例
NursingProject np = new NursingProject();
np.setName("喝粥");
np.setImage("http://baidu.com");
//BigDecimal对象可以保证价格精确
np.setPrice(new BigDecimal(100));
np.setUnit("次");
np.setNursingRequirement("无");
np.setStatus(1);
np.setOrderNo(1);
nursingProjectMapper.insert(np);
}
/***
* 根据ID删除
*/
@Test
public void testDelete(){
nursingProjectMapper.deleteById(1989511641162838018L);
}
/***
* 根据ID修改
*/
@Test
public void testUpdate(){
NursingProject np = new NursingProject();
np.setName("喂饭");
np.setImage("http://baidu.com");
np.setStatus(1);
np.setId(1989511641162838018L);
nursingProjectMapper.updateById(np);
}
/***
* 根据ID查找
*/
@Test
public void testFindById(){
NursingProject nursingProject = nursingProjectMapper.selectById(1989511641162838018L);
System.out.println(nursingProject);
}
3,MyBatisPlus常见注解
//设置表名,默认为类名
@TableName("student_projects")
// 设置主键和设置主键生成策略
@TableId(value = "id",type = IdType.AUTO)
//属性映射到数据库
@TableField(value = "order_no")
//指定字段在数据库不存在
@TableField(exist = false)
//指定逻辑删除字段
@TableLogic(value = "0", delval = "1")
4,MyBatisPlus配置文件有哪些配置,作用是什么
mybatis-plus:
//指定mapper的xml文件位置
mapper-locations: classpath*:mapper/*.xml
//指定实体类的位置
type-aliases-package: com.example.entity
configuration:
//开启驼峰命名自动转换
map-underscore-to-camel-case: true
//指定日志类
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
global-config:
db-config:
#全局id类型为自增长
id-type: auto
#更新策略,只更新非空字段
update-strategy: not_null
#局逻辑删除的实体字段名,字段类型可以是boolean、integer
logic-delete-field: deleted
#已经删除的值
logic-delete-value: 1
#未删除值
logic-not-delete-value: 0
5,Wrapper有什么作用?有哪些对象
Wrapper是MyBatis-Plus提供的条件构造器,可以更加方便的过滤数据
//基础查询条件构造器
QueryWrapper<T>
//基于 Lambda 表达式的查询条件构造器
LambdaQueryWrapper<T>
//基础更新条件构造器
UpdateWrapper<T>
//基于 Lambda 表达式的更新条件构造器
LambdaUpdateWrapper<T>
评论(0)
暂无评论