吐槽 : mmp…, 谁能理解我现在的心情,这篇文章是第三次写了,吐槽一,谷歌最新版和搜狗输入法冲突导致浏览器崩溃的问题。真的mmp文章写到一半浏览器蹦了,再次恢复的时候文章没了。。。重写。吐槽二,csdn的Markdown编辑器为什么不自动保存。。。mmp第二遍重写。这是第三遍md。废话不说了开始说正事
注明 : 本篇文章将介绍springboot+mybatis-plus通过AutoGenerator自动生成entrty、controller、service、dao、mapper后对于基本的CRUD的操作和注意事项。
初始化项目搭建
初始化项目我就不在一一阐述了,如果有不知道的童鞋可以看我的上篇博文来做项目的初始化搭建,也可以去Gitee下载源码
源码地址 Gitee
层级代码展示
上图为自动生成后的层级展示,那么下面就开始我们的测试之路
在测试之前我们需要注意一些要点,如下放代码所示我们需要在yml配置文件中加入下面的代码块。这样在我们测试的时候会在控制台打印sql语句供我们参考
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
实例测试
/**
* <p>
* insert 插入测试
* </p>
*/
@Test
public void insertLoads() {
User user = new User();
user.setEmail("lqf@163.com");
user.setAge(12);
Integer insert = mapper.insert(user);
System.out.println("return insert value = " + insert);
}
sql执行和打印结果
==> Preparing: INSERT INTO user ( id, age, email ) VALUES ( ?, ?, ? )
==> Parameters: 1046280811781570561(Long), 12(Integer), lqf@163.com(String)
<== Updates: 1
return insert value = 1
上面的结果我们可以看到inset操作正常添加了,插入的也只有三个字段,其他没有填写的字段是不会添加,在看自动生成的id是一个Long类型的设置。这里需要注意的是如果你想要一个主键自增的id那么你需要进行id主键自增的设置
@TableId(value = "id", type = IdType.AUTO)
private Long id;
IdType.AUTO这个就是主键自增的标识,如果你在创建数据表的时候设置了主键自增在自动生成的时候注解就会自动添加的。在2.X的版本中还存在insertAllColumn现在的3.0版本已经不存在了就不做介绍了。
/**
*<P>
* 通过id更新信息
*</P>
*/
@Test
public void updateByIdLoads() {
User user = new User();
user.setAge(123);
user.setEmail("weqee@163.com");
user.setId(1L);
Integer insert = mapper.updateById(user);
System.out.println("return insert value = " + insert);
}
sql执行和打印结果
==> Preparing: UPDATE user SET age=?, email=? WHERE id=?
==> Parameters: 123(Integer), weqee@1