通用Mapper 简单教程

Mapper 项目地址: [http://git.oschina.net/free/Mapper]

本教程代码地址: [https://github.com/oaksharks/CommonMapper]

I. 使用mybatis 原生方式

  1. 在SessionFactory 中配置 mapper 的xml 文件位置(xml 与 java文件最好不要放到同一目录)。在mybatis的xml
    中已经指定namespace,也就是说只要指定xml文件mybatis 就能生成代理类。扫描器一个很大的作用就是生成
    代理类的实例放到spring容器中。通用Mapper项目的原理是通过对pojo的配置生成mapper的xml SQL语句,所以如果仅仅需要
    基本dao方法可以不用写xml文件了,仅仅配置扫描器即可。扫描器会根据继承的接口生成代理方法。
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="datasource" /><property name="mapperLocations"><array><value>classpath:mapper/mysql/*.xml</value></array></property>
</bean>
  1. 使用改写后的扫描器(org 改成tk 即可)
 <bean class="tk.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="mapper"></property><property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /></bean><!-- sqlSessionFactory -->

II. Criteria查询

Criteria 不依赖具体的SQL语句而是使用对象描述查询关系,所以Criteria可以适应多种数据库。
在通用mapper中可以使用下列方式创建Criteria 查询。
查询参考

Example example = new Example(User.class);
Example.Criteria criteria = example.createCriteria();
criteria.andEqualTo("name", "w");
UserMapper userMapper = getUserMapper();
List<User> users = userMapper.selectByExample(example);

III. 内建查询

此种方式,要求mapper 接口继承现有的Dao接口。通用Mapper会帮我们自动实现继承过来
的接口方法而不是需要我们在xml中手写SQL语句。作者为我们提供多个实现的接口。参考:
Mapper3通用接口大全。 这些接口需要一个泛型参数来指定该Dao操作的实体类型。还需要使
用JPA注解实现实体bean与表的映射。有了实体bean与数据表的映射关系Mapper就能给我们
的Mapper接口生成Dao代理类了。
pojo 配置

@Table(name = "t_user")
public class User {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Integer id ;private String name ;private String password ;private String email ;/*get & set */
}

mapper接口

public interface UserMapper extends BaseMapper<User>,SelectByExampleMapper<User> {public List<User> selectByName(@Param("name") String name);
}

查询参考

 @Testpublic void testCRUD() throws Exception {UserMapper mapper = getUserMapper();User user = mapper.selectByPrimaryKey(1);System.out.println(user.toString());//Assert.assertEquals("1","2");List<User> w = mapper.selectByName("w");System.out.println(w.get(0).toString());}

转载于:https://www.cnblogs.com/oaks/p/5413500.html

MyBatis 通用Mapper 入门教程相关推荐

  1. MBG+通用Mapper使用教程!

    MBG+通用Mapper使用教程 MBG+通用Mapper使用步骤 MBG 1.引入依赖(MBG依赖,mabatis,数据库驱动,数据源,lombok) 2.配置连接相关参数 3.将generator ...

  2. spring boot整合mybatis+通用mapper+pagehelper分页插件

    spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...

  3. Springboot集成mybatis通用Mapper与分页插件PageHelper

    Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...

  4. SSM项目使用Mybatis通用mapper插件tk.mybatis的用法

    SSM项目使用Mybatis通用mapper插件tk.mybatis的用法 https://blog.csdn.net/qq_40060806/article/details/82949722 TKm ...

  5. tk mybatis通用mapper

    tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...

  6. 第02讲:MyBatis通用Mapper

    一.windows系统安装MySQL8.0.11 MySQL官方下载地址:https://downloads.mysql.com/archives/community/ 1.将 zip 包解压到相应的 ...

  7. Mybatis 通用 Mapper 使用 ①

    简介 官网链接:https://mapperhelper.github.io/docs/ 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方 ...

  8. Mybatis通用Mapper

    极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表 ...

  9. ORM框架之Mybatis(六)mybatis通用mapper

    一.简介通用mapper 1.1 官方介绍:(官网:https://mapperhelper.github.io/docs/) 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通 ...

最新文章

  1. 从发展滞后到不断突破,NLP已成为AI又一燃爆点?
  2. java交易系统_基于SSM框架的JAVA二手交易系统
  3. 给GridView删除列添加删除提示
  4. 【OS学习笔记】三十九 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----动态加载的用户程序/任务一代码
  5. lstm网络_LSTM(长短期记忆网络)
  6. Go之Channel
  7. html 圆圈项目符号,html – 列表项下的项目符号
  8. matlab 运行 AlexNet
  9. 我们是已经谈不起恋爱的80后
  10. easyUI替换非16x16的图标
  11. 地铁票务管理系统_[地铁票务管理论文] 地铁票务系统 场景法
  12. Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector 论文翻译
  13. 小程序分包大小超过限制
  14. Vue-Layout(可视化布局)
  15. 第1章思维导图图片版
  16. DVD转VCD,MPG文件参考
  17. 基于深度学习的目标检测算法综述(二)
  18. php class ziparchive not found,php Class 'ZipArchive' not found解决办法(php安装zip扩展)
  19. 信息流媒体变现_QuestMobile2020中国互联网广告大报告(上篇):2019变现元年启示录,PC落幕,“展示效果”当立!...
  20. python百钱买百鸡代码_python解决百钱买百鸡

热门文章

  1. linux亲和性,两种亲和性
  2. elasticsearch的多索引联合查询以及范围日期查询示例
  3. 【网页前端设计Front end】CSS入门(看不懂你来打我)
  4. python二进制相加
  5. badatatable转成json_C# DataTable 转换成JSON数据 三种方法
  6. linux 退出服务器_Vue实战091:Vue项目部署到nginx服务器
  7. oracle rman catalogo,ORACLE 11g RMAN备份恢复--catalog
  8. 网络推广是什么浅析网站内的链接优化技巧有哪些?
  9. 浅析营销型网站SEO优化的四大原则!
  10. python调用大漠插件_Burp Extender Apis 插件开发 (一)