2026/4/6 4:11:05
网站建设
项目流程
山东省建设工程质量安全协会网站,朔州企业网站建设公司,福州做网站的哪家好,教育网站前置审批系统介绍
官网介绍#xff1a;简介 | MyBatis-Plus
作用#xff1a;提高单表CRUD操作的效率
快速开始
实现下列功能#xff1a;
新增用户功能根据id查询用户根据id批量查询用户根据id更新用户根据id删除用户
引入MybatisPlus的起步依赖
MyBatisPlus官方提供了starter简介 | MyBatis-Plus作用提高单表CRUD操作的效率快速开始实现下列功能新增用户功能根据id查询用户根据id批量查询用户根据id更新用户根据id删除用户引入MybatisPlus的起步依赖MyBatisPlus官方提供了starter其中集成了Mybatis和MybatisPlus的所有功能并且实现了自动装配效果。因此我们可以用MybatisPlus的starter代替Mybatis的starter也就是说引入了下面这个依赖后就可以同时使用Mybatis和MybatisPlus:dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3.1/version /dependency定义Mapper自定义的Mapper继承MybatisPlus提供的BaseMapper接口public interface UserMapper extends BaseMapperUser { }这个Mapper里什么都不用写User是自定义的实体类对应user表演示基于单元测试SpringBootTest class UserMapperTest { Autowired private UserMapper userMapper; Test void testInsert() { User user new User(); user.setId(5L); user.setUsername(Lucy); user.setPassword(123); user.setPhone(18688990011); user.setBalance(200); user.setInfo({\age\: 24, \intro\: \英文老师\, \gender\: \female\}); user.setCreateTime(LocalDateTime.now()); user.setUpdateTime(LocalDateTime.now()); userMapper.insert(user); } Test void testSelectById() { User user userMapper.selectById(5L); System.out.println(user user); } Test void testQueryByIds() { ListUser users userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L)); users.forEach(System.out::println); } Test void testUpdateById() { User user new User(); user.setId(5L); user.setBalance(20000); userMapper.updateById(user); } Test void testDeleteUser() { userMapper.deleteById(5L); } }新增用户功能userMapper.insert(user);根据id查询用户userMapper.selectById(5L);根据id批量查询用户userMapper.selectBatchIds(List.of(1L, 2L, 3L, 4L));根据id更新用户userMapper.updateById(user);根据id删除用户userMapper.deleteById(5L);解释mp如何找到数据库中对应的表以及表内字段的——3个约定1.类名驼峰转下划线作为表名例类名User-表名user类名UserInfo-表名user_info2.名为id的字段作为主键3.变量名驼峰转下划线作为表的字段名例类内变量名username-表内字段名username类内变量名createTime-表内字段名create_time常用注解如果实体类和对应的表不满足3个约定则需要用到注解来进行配置MybatisPlus中比较常用的几个注解如下TableName用来指定表名Tableld用来指定表中的主键字段信息TableField用来指定表中的普通字段信息TableName当实体类的类名和表名不满足约定时在实体类上添加TableName(表名)TableId当实体类中主键对应的变量名不为id时在该变量名上添加TableId(value id)TableId还有3种type属性IdType枚举AUTO数据库自增长INPUT通过set方法自行输入ASSIGN_ID默认分配 ID接口ldentifierGenerator的方法nextld来生成id默认实现类为DefaultldentifierGenerator雪花算法TableField使用TableField的常见场景成员变量名与数据库字段名不一致TableField(数据库字段名)成员变量名以is开头且是布尔值TableField(数据库字段名)成员变量名与数据库关键字冲突转义TableField(数据库字段名)成员变量不是数据库字段TableField(exist false)常用配置官网配置 | MyBatis-Plus大部分并不需要我们去配置走默认就行如果需要配置可以查看官网或者通过idea的提示进行配置