MP是什么?
是一个mybatis的增强工具,为简化开发,提高效率为生。
mybatis和mybatisplus的区别
mybatis:通过sql生成对象,需要分层
mybatis-plus:额外的增加一些功能,自动分层。通过注解查询数据库
引入到项目
直接替换掉老项目的mybatis
<!-- springboot整合mybatis-plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.5.2</version>
</dependency>
通用base查询的使用
首先map中中使用实体做为泛型返回
public interface UserMapper extends BaseMapper<UserEntity> {
@Insert("INSERT into user values(null,#{userName})")
int insertUser(@Param("userName")String userName);
// @Select("select * from user where id = #{id}")
// UserEntity selectUserId(Integer id);
}
service中直接调用方法
根据主键查询相应的数据,这个在mybatis-plus已经完全的封装好了。直接使用就可以。
@RequestMapping("/findUserById")
public UserEntity search(Integer id){
return userMapper.selectById(id);
}
多条件查询(使用query和eq)
@GetMapping("/findByUserList")
public List<UserEntity> findByUserList(UserEntity userEntity){
//按照条件查询sql语句
QueryWrapper<UserEntity>query = new QueryWrapper<UserEntity>();
query.eq("name",userEntity.getName());
query.gt("age",userEntity.getAge());
//使用selectList查询
List<UserEntity> userList = userMapper.selectList(query);
return userList;
}
更新操作
//通过主键ID更新数据
@GetMapping("/updateByUserId")
public String updateUser(UserEntity userEntity){
return userMapper.updateById(userEntity) > 0?"success":"fail";
}
//条件更新
@GetMapping("/updateByCondition")
public String updateByCondition(UserEntity userEntity){
UpdateWrapper<UserEntity>query = new UpdateWrapper<UserEntity>();
query.gt("age",userEntity.getAge());
//带查询条件的sql语句
int result = userMapper.update(userEntity,query);
return result > 0?"success":"fail";
}
打印mybatis日志
引入配置:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl