一、MybatisPlus
MybatisPlus:是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
官网中文链接
使用:
首先在SpringBoot启动类中添加@MapperScan注解,扫描mapper文件夹
@SpringBootApplication
@MapperScan("com.baomidou.mybatisplus.samples.quickstart.mapper")
public class Application {
public static void main(String[] args) {
SpringApplication.run(QuickStartApplication.class, args);
}
}
编码实体类User.java
/**
* @TableId:
* value:指定表中的主键列的列名,如果实体属性名与列名一致可以省略
* type:指定主键策略
*
*/
@Data
public class User {
@TableId(value = "id",type = IdType.AUTO)
@TableField( value = "id",exist = true)
private Long id;
@TableField(value = "name",exist = true)
private String name;
@TableField(value ="age",exist = true)
private Integer age;
@TableField(value = "email",exist = true)
private String email;
@TableField(value = "remark",exist = true)
private String remark;
}
编写UserMapper.java
/**
* mapper接口
* :基于mybatis:在Mapper接口中编写CRUD相关方法,提供Mapper接口所对应的SQL映射文
件一级方法对应的SQL语句
* :基于mybatisplus:让xxxMapper接口继承baseMapper<T>即可,T指定的就是当前mapper
接口所操作的实体类类型
*/
public interface UserMapper extends BaseMapper<User> {
}
普通的增删改查操作:
public class UserTests {
@Autowired
private UserMapper userMapper;
public void testInsert() {
User user = new User();
user.setName("fengling319");
user.setAge(18);
user.setEmail("fengling319@xxx.com");
user.setAddr("广东深圳龙岗");
user.setRemark("喝酱油的");
int insert = userMapper.insert(user);
Assert.assertEquals(insert , 1);
}
public void testSelect(){
List<User> users = userMapper.selectList(null);
users.forEach(System.out::println);
Assert.assertEquals(2, users.size());
}
public void testQuery() {
QueryWrapper<User> ew = new QueryWrapper<>();
ew.like("name" , "318");
List<User> users = userMapper.selectList(ew);
users.forEach(System.out::println);
}
@Test
public void testUpdate() {
QueryWrapper<User> ew = new QueryWrapper<>();
ew.like("name" , "318");
User user = userMapper.selectOne(ew);
user.setRemark("大王叫我来巡山!!!");
int i = userMapper.updateById(user);
Assert.assertEquals(i , 1);
}