下面是关于“MyBatis-Plus使用ActiveRecord(AR)实现CRUD”的完整攻略:
什么是MyBatis-Plus的ActiveRecord(AR)
MyBatis-Plus是一个MyBatis的优秀增强工具,比MyBatis更加强大、方便、强大、灵活,其AR模式是一种ORM思想,使得你可以通过链式调用方法完成CRUD操作,减少了编写重复的SQL语句,提高了开发效率。
如何使用AR模式
- 通过maven引入MyBatis-Plus及依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>${mybatis-plus.version}</version>
</dependency>
- 创建实体类
@Data
public class User extends Model<User> {
@TableId(value = "id", type = IdType.AUTO)
private Long id;
private String name;
private Integer age;
private String email;
@Override
protected Serializable pkVal() {
return this.id;
}
}
注意,实体类必须继承Model类,并且在主键上添加@TableId注解,指定主键类型和生成方式。
-
使用AR模式操作数据
-
插入操作
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("tom@baomidou.com");
boolean result = user.insert();
- 删除操作
User user = new User();
user.setId(1L);
boolean result = user.deleteById();
- 更新操作
User user = new User();
user.setId(1L);
user.setEmail("jerry@baomidou.com");
boolean result = user.updateById();
- 查询操作
User user = new User();
List<User> userList = user.selectAll();
- 条件查询操作
User user = new User();
user.selectPage(new Page<>(1, 10), new EntityWrapper<>());
- 使用AR模式进行分页查询
User user = new User();
Page<User> page = new Page<>(1, 10);
user.selectPage(page, new EntityWrapper<User>());
List<User> userList = page.getRecords();
long total = page.getTotal();
以上示例中,使用了MyBatis-Plus的AR模式完成了CRUD操作以及分页查询操作。在实际的开发中,可以根据具体的需求灵活运用。
示例说明
示例1:使用AR模式插入数据
@Test
public void insertTest() {
User user = new User();
user.setName("Tom");
user.setAge(18);
user.setEmail("tom@baomidou.com");
boolean result = user.insert();
Assert.assertEquals(true, result);
}
在示例1中,首先创建一个User对象,然后设置对应的属性值,最后使用insert()方法插入到数据库中。
示例2:使用AR模式分页查询数据
@Test
public void selectPageTest() {
User user = new User();
Page<User> page = new Page<>(1, 10);
user.selectPage(page, new EntityWrapper<User>());
List<User> userList = page.getRecords();
long total = page.getTotal();
System.out.println("总记录数:" + total);
for (User u : userList) {
System.out.println(u);
}
}
在示例2中,首先创建一个User对象,然后创建一个分页对象,使用selectPage()方法分页查询用户数据,最后通过分页对象获取对应的用户数据和总记录数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MyBatis-Plus使用ActiveRecord(AR)实现CRUD - Python技术站