mybatis的通用Mapper函数库以及Example条件函数总结记录

一. 通用Mapper接口方法

1. 查
方法功能
User selectByPrimaryKey(Integer id) throws SQLException按主键查询
List selectByExample(UserExample example) throws SQLException按条件查询,返回类型为List
List selectByExampleWithBLOGs(UserExample example) throws SQLException按条件查询(包括BLOB字段)。只有当数据表中的字段类型包含二进制的才会产生。
List select(T record)根据实体中的属性值进行查询,查询条件使用等号
User selectOne(T record)选择一个查询
List selectOneByExample(UserExample example)按条件选择一个查询
selectAll()查询所有
selectCount(T record)根据实体中的属性查询总数,查询条件使用等号
selectCountByExample()按条件统计
selectByRowBounds(T record, RowBounds rowBounds)根据实体属性和RowBounds进行分页查询
selectByExampleAndRowBounds(Object example, RowBounds rowBounds)根据example条件和RowBounds进行分页查询
2. 插入
方法功能
String/Integer insert(User record) throws SQLException保存一个实体,null的属性也会保存,不会使用数据库默认值
String/Integer insertSelective(User record) throws SQLException保存一个实体,null的属性不会保存,会使用数据库默认值
3. 更新
方法功能
int updateByPrimaryKey(User record) throws SQLException按主键更新
int updateByPrimaryKeySelective(User record) throws SQLException按主键更新值不为Null的字段
int updateByExample(User record, UserExample example) throws SQLException按条件更新
int updateByExampleSelective(User record, UserExample example) throws SQLException按条件更新值不为Null的字段
4. 删除
方法功能
delete()
int deleteByPrimaryKey(Integer id) throws SQLException按主键删除
int deleteByExample(UserExample example) throws SQLException按条件删除

二. 条件Example criteria实例方法

Example o = new Example(Entity(实体类名).class);
Example.Criteria criteria = o.createCriteria();

Example

方法功能
example.setOrderByClause(“字段名 ASC”);添加升序排列条件,DESC为降序
example.createCriteria()创建Criteria实例后添加条件
example.setDistinct(boolean distinct)去除重复,参数为boolean型,true为选择不重复的记录

其余略。

Criteria

方法功能
andLike(String property, String value)like模糊匹配
andNotLike(String property, String value)匹配非like条件
andEqualTo(Object param)等值匹配
andEqualTo(String property, Object value)等值匹配
andNotEqualTo(String property, Object value)不等匹配
andBetween(String property, Object value1, Object value2)字段在between之间匹配
andNotBetween(String property, Object value1, Object value2)between之外匹配
andIn(String property, Iterable values)等价于SQL中的in条件
andNotIn(String property, Iterable values)not in 匹配
andIsNotNull(String property)字段非空匹配
andIsNull(String property)空字段匹配
andLessThan(String property, Object value)添加小于条件
andLessThanOrEqualTo(String property, Object value)添加小于等于条件
andGreaterThan(String property, Object value)添加大于条件
andGreaterThanOrEqualTo(String property, Object value)添加大于等于条件

参考博客:

  1. MyBatis Mapper3接口大全 :https://blog.csdn.net/wtopps/article/details/70232866
  2. Mybatis之Mapper接口及Example实例函数使用详解:https://blog.csdn.net/qushaming/article/details/83502345
  • 0
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Mybatis通用Mapper是一个基于Mybatis框架的插件,它可以帮助我们快速地进行数据操作,避免了手写SQL的繁琐和容易出错的问题。使用Mybatis通用Mapper,我们只需要定义好实体类和Mapper接口,就可以直接调用通用的增删改查方法,非常方便。 具体使用方法如下: 1. 引入Mybatis通用Mapper的依赖包,可以通过Maven或者Gradle进行引入。 2. 定义实体类,需要注意的是实体类的属性名要和数据表的字段名一致,或者使用@ColumnName注解进行映射。 3. 定义Mapper接口,继承通用Mapper接口,例如: public interface UserMapper extends Mapper<User> {} 4. 在Mybatis的配置文件中配置通用Mapper插件,例如: <plugins> <plugin interceptor="tk.mybatis.mapper.plugin.MapperInterceptor"> <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/> </plugin> </plugins> 5. 在代码中调用通用Mapper的方法,例如: @Autowired private UserMapper userMapper; public void addUser(User user) { userMapper.insert(user); } 以上就是Mybatis通用Mapper的使用方法,它可以大大简化我们的开发工作,提高开发效率。 ### 回答2: Mybatis通用Mapper是一个基于Mybatis通用Mapper插件。它提供了单表的增删改查操作,同时还支持通用的批量操作和条件查询等功能。在使用Mybatis通用Mapper时,我们不需要编写繁琐的Mapper接口和对应的XML文件,只需要使用注解即可完成对数据的操作。 首先,我们需要在pom.xml文件中添加Mybatis通用Mapper的依赖: ``` <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper</artifactId> <version>4.1.5</version> </dependency> ``` 接下来,我们需要在Mybatis的配置文件中添加通用Mapper的配置: ``` <plugins> <plugin interceptor="tk.mybatis.mapper.common.MapperInterceptor"> <property name="mappers" value="tk.mybatis.mapper.common.BaseMapper"/> </plugin> </plugins> ``` 完成以上操作后,我们就可以在项目中使用Mybatis通用Mapper了。例如,我们要对一个用户表进行操作,可以创建一个User实体类: ``` public class User { private Integer id; private String username; private String password; private String email; // 省略getter和setter方法 } ``` 然后,我们通过注解在UserMapper接口中定义对用户表的操作: ``` public interface UserMapper extends Mapper<User> { } ``` 这里的MapperMybatis通用Mapper提供的一个接口,通过继承该接口,我们可以直接使用其中定义好的单表操作方法。 接下来,我们就可以直接在代码中使用UserMapper了。例如,我们要插入一条用户记录,可以使用以下代码: ``` User user = new User(); user.setUsername("test"); user.setPassword("123456"); user.setEmail("test@example.com"); userMapper.insert(user); ``` 如果我们需要查询一条用户记录,可以使用以下代码: ``` User user = new User(); user.setId(1); User result = userMapper.selectOne(user); ``` 以上就是使用Mybatis通用Mapper的简单示例。在实际使用中,我们还可以通过注解实现复杂的批量操作和条件查询等功能,具体请参考Mybatis通用Mapper的官方文档。 ### 回答3: Mybatis通用mapper是基于Mybatis的一个工具,简化了Mybatis中XML配置的工作量,提供了一些通用的方法,能够简化我们的增删改查操作。下面简单介绍一下Mybatis通用mapper的使用方法。 一、引入依赖和配置 在pom文件中引入mybatis通用mapper的依赖 ``` <dependency> <groupId>tk.mybatis</groupId> <artifactId>mapper-spring-boot-starter</artifactId> <version>${mybatis-mapper.version}</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.version}</version> </dependency> ``` 在application.yml中进行相关配置 ``` mybatis: #配置别名 type-aliases-package: com.xxxx.entity #配置xml映射文件路径 mapper-locations: classpath:mapper/*.xml mapper: #配置通用mapper的包路径 mappers: tk.mybatis.mapper.common.Mapper #配置实体类主键的生成策略 identity: mysql #配置mysql的方言,不配置通用mapper的分页插件会出错 dialect: mysql ``` 二、编写实体类和Mapper接口 在编写实体类时,需要给实体类的属性加上@TableId和@Column注解,用来指明主键和列名。例如: ``` @Data @Table(name = "user") public class User { @Id @GeneratedValue(generator = "JDBC") @Column(name = "id") private Long id; @Column(name = "username") private String username; @Column(name = "password") private String password; @Column(name = "age") private Integer age; @Column(name = "email") private String email; } ``` 在编写Mapper接口时,直接继承Mapper<T>接口即可,T为对应的实体类。例如: ``` @Repository public interface UserMapper extends Mapper<User> { } ``` 三、编写通用方法 Mybatis通用mapper提供了一些通用方法,例如插入数据、更新数据、删除数据和查询数据等。这些方法都可以直接调用或者根据需要进行封装。 (1)插入数据 使用通用mapper的插入方法,代码如下: ``` User user = new User(); user.setUsername("testUser"); user.setPassword("123456"); user.setAge(20); user.setEmail("testUser@xx.com"); userMapper.insert(user); ``` 使用通用mapper的批量插入方法,代码如下: ``` List<User> userList = new ArrayList<>(); User user1 = new User(); user1.setUsername("testUser1"); user1.setPassword("123456"); user1.setAge(20); user1.setEmail("testUser@xx.com"); userList.add(user1); User user2 = new User(); user2.setUsername("testUser2"); user2.setPassword("123456"); user2.setAge(21); user2.setEmail("testUser@xx.com"); userList.add(user2); userMapper.insertList(userList); ``` (2)更新数据 使用通用mapper的更新方法,代码如下: ``` User user = new User(); user.setId(1L); user.setUsername("newTestUser"); userMapper.updateByPrimaryKey(user); ``` (3)删除数据 使用通用mapper的删除方法,代码如下: ``` userMapper.deleteByPrimaryKey(1L); ``` (4)查询数据 使用通用mapper的查询方法,代码如下: ``` User user = userMapper.selectByPrimaryKey(1L); ``` 使用通用mapper的查询所有数据方法,代码如下: ``` List<User> userList = userMapper.selectAll(); ``` 使用通用mapper条件查询方法,代码如下: ``` Condition condition = new Condition(User.class); condition.createCriteria().andEqualTo("username", "testUser"); List<User> userList = userMapper.selectByExample(condition); ``` 以上就是使用Mybatis通用mapper的一些常用方法,它们都能够简化我们的开发工作。当然,如果有需要,我们还可以自己封装一些方法来实现更加灵活和高效的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值