Mapper的使用

观书散遗帙,探古穷至妙。这篇文章主要讲述Mapper的使用相关的知识,希望能为你提供帮助。
Mapper原理:* 通过Mybatis拦截器的原理,动态的帮我们实现单表的增删改查;用法:* 倒依赖:com.github.abe1533* MyBatis-config.xml中配置通用Mapper在mybatis中的拦截器,    < plugins>                 < plugin  interceptor="com.github.pagehelper.PageHelper">                         < property  name="dialect"  value="https://www.songbingjia.com/android/mysql"  />                         < !--  设置为true时,使用RowBounds分页会进行count查询  -->                         < property  name="rowBoundsWithCount"  value="https://www.songbingjia.com/android/true"  />                 < /plugin>                                 < plugin  interceptor="com.github.abel533.mapperhelper.MapperInterceptor">                         < !--主键自增回写方法,默认值MYSQL,详细说明请看文档  -->                         < property  name="IDENTITY"  value="https://www.songbingjia.com/android/MYSQL"  />                         < !--通用Mapper接口,多个通用接口用逗号隔开  -->                         < property  name="mappers"  value="https://www.songbingjia.com/android/com.github.abel533.mapper.Mapper"  />                 < /plugin>         < /plugins> API:

  1.   selectOne():查询一个对象,(会把查询对象的非空属性作为查询条件,不同的属性作为条件之间的关系是and,返回是多个对象则抛出异常);
  2. select():查询多个对象(集合);
  3. selectCount():查询总条数信息   select count(*) from 表名 where ...
  4. selectByPrimaryKey():根据主键查询(@ID注解的);
  5. insert():插入数据,不管数据是否为null;
  6. insertSelective():只插入非空字段的数据;
  7. delete():根据条件删除;
  8. deleteByPrimaryKey():根据主键删除;
  9. updateByPrimaryKeySeletive():根据根据主键(修改条件)修改此对象的其他属性.例如:update 表名 set age = ? where 主键 = ?;(age和主键都要自己设置)
  10. 复杂条件的查询,修改和删除  : 通过example对象来实现
      // 创建Example对象,并且指定要操作的实体类的Class对象
          Example example = new Example(User.class);
          // 创建查询条件对象,默认是and关系
          example.createCriteria().andEqualTo("sex", 2).andBetween("age", 16, 24); // 查询女性,并且年龄在16到24
          // 添加查询条件,or关系
          example.or(example.createCriteria().andEqualTo("userName", "lisi")); // 或者用户名是lisi
          // 实现排序,多个排序规则以‘,‘隔开
          example.setOrderByClause("age desc");
【Mapper的使用】         
          List< User> users = this.userMapper.selectByExample(example);



来自为知笔记(Wiz)








    推荐阅读