本文为一个系列中的第五节,前四节拜访如下地址:
- 小书MybatisPlus第1篇-整合SpringBoot疾速开始增删改查
- 小书MybatisPlus第2篇-条件结构器的利用及总结
- 小书MybatisPlus第3篇-自定义SQL
- 小书MybatisPlus第4篇-表格分页与下拉分页查问
Active Record 适宜非常简单的畛域需要,尤其在畛域模型和数据库模型十分相似的状况下。如果遇到更加简单的畛域模型构造(例如用到继承、策略的畛域模型),往往须要应用拆散数据源的畛域模型,联合 Data Mapper (数据映射器)应用。
具体到应用层面,咱们之前章节讲过应用Data Mapper 做数据的长久层操作。
User user = new User();user.setName("字母哥");user.setAge(18);userMapper.insert(user); //Mybatis Mapper模式
当初咱们应用ActiveRecord模式,用法如下,留神二者的区别
User user = new User();user.setName("zimug");user.setAge(18);user.insert(); //ActiveRecord模式
一、使ActiveRecord模式失效
首先:须要让数据库表对应的数据长久层实体类。集成自Model<User>,并实现序列化接口。
@Data //lombok注解@EqualsAndHashCode(callSuper = true)public class User extends Model<User> implements Serializable { private static final long serialVersionUID = 6401942840459021558L; private Long id; private String name; private Integer age; private String email;}
其实定义一个Mapper继承自BaseMapper<T>
,T代表数据长久层实体类。
public interface UserMapper extends BaseMapper<User> {}
这样Mybatis Plus的ActiveRecord模式就失效了,默认的帮咱们实现了如下的一些数据长久层办法。
二、增删该查的实现
减少:向长久层实体类User对应的数据库表user,插入一条数据。
@Testpublic void testInsert() { User user = new User(); user.setName("zimug"); user.setAge(18); user.setEmail("hadoopcn2@163.com"); boolean success = user.insert(); System.out.println("是否插入胜利:"+success);}
查问:从数据库表user查问所有数据
@Testpublic void testSelect() { User user = new User(); List<User> users = user.selectAll(); users.forEach(System.out::println);}
增加或更新:
- 未设置ID,被视为insert操作,向数据库插入数据
- 如果设置ID,则先查问是否有此id的记录,如果有此id记录,则视为update,如果没有则视为insert
@Testpublic void testUpdate() { User user = new User(); user.setId(1283915378849751041L); user.setAge(25); boolean success = user.insertOrUpdate(); System.out.println("是否增加或更新胜利(更新):"+success);}
依据id在数据库表user中删除一条记录
@Testpublic void testDelete() { User user = new User(); user.setId(1283915378849751041L); boolean success = user.deleteById(); System.out.println("是否删除胜利:"+success);}
欢送关注我的博客,外面有很多精品合集
- 本文转载注明出处(必须带连贯,不能只转文字):字母哥博客。
感觉对您有帮忙的话,帮我点赞、分享!您的反对是我不竭的创作能源! 。另外,笔者最近一段时间输入了如下的精品内容,期待您的关注。
- 《手摸手教你学Spring Boot2.0》
- 《Spring Security-JWT-OAuth2一本通》
- 《实战前后端拆散RBAC权限管理系统》
- 《实战SpringCloud微服务从青铜到王者》
- 《VUE深入浅出系列》