我们在项目中使用Mybatis-Plus,这是一个基于Mybatis的优秀ORM框架,它提供了许多方便的工具和封装,可以大量地减轻我们的开发负担。下面我会分享一些我的经验和教训,希望对您有所帮助。
首先,我创建了一个实体类User,并让其继承自BaseEntity,这是Mybatis-Plus提供的一个实体类基础类。BaseEntity中封装了一些公共属性,如id、createtime、updatetime等,它们是数据库表中通用的属性,这样定义的好处是我们不需要在每个实体类中再定义这些属性,减少了代码的冗余。
public class User extends BaseEntity{
// 用户名
private String username;
// 密码
private String password;
// 年龄
private Integer age;
// 性别 1-男 2-女
private Integer gender;
// 状态 1-启用 2-禁用
private Integer status;
// 邮箱
private String email;
// 手机号
private String mobile;
// 备注
private String remark;
// 生日
@JsonFormat(pattern = "yyyy-MM-dd")
private Date birthday;
}
其次,我们需要创建一个Mapper接口,并让它继承自MybatisPlus的BaseMapper接口。BaseMapper中封装了许多常用的CRUD操作,如insert、update、delete、select等,我们可以直接调用这些方法,避免了手写SQL语句的麻烦。
public interface UserMapper extends BaseMapper<User> {
}
接下来,我们就可以愉快地使用Mybatis-Plus进行开发了。下面是一些示例代码:
1.新增用户
User user = new User();
user.setUsername("Tom");
user.setPassword("123456");
user.setAge(18);
user.setGender(1);
user.setEmail("tom@qq.com");
user.setMobile("13800138000");
user.setRemark("Hello World!");
userMapper.insert(user);
2.查询用户列表
List<User> userList = userMapper.selectList(new QueryWrapper<User>()
.eq("status", 1)
.like("username", "Tom")
.orderByDesc("age"));
这里使用了MybatisPlus的查询条件构造器,可以方便地拼接查询条件,而且还支持分页查询、自定义SQL查询等。
3.更新用户信息
User user = userMapper.selectById(userId);
if (user != null) {
user.setAge(20);
user.setEmail("tom@163.com");
userMapper.updateById(user);
}
使用MybatisPlus的updateById方法可以轻松地实现更新操作,不需要再手动拼接SQL语句。
4.删除用户信息
userMapper.deleteById(userId);
以上就是在实际开发中使用Mybatis-Plus的一些经验和教训,希望可以对您有所帮助。如果您有任何问题,请随时与我联系。