MyBatis 通用Mapper 入门教程
通用Mapper 简单教程
Mapper 项目地址: [http://git.oschina.net/free/Mapper]
本教程代码地址: [https://github.com/oaksharks/CommonMapper]
I. 使用mybatis 原生方式
- 在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>
- 使用改写后的扫描器(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 入门教程相关推荐
- MBG+通用Mapper使用教程!
MBG+通用Mapper使用教程 MBG+通用Mapper使用步骤 MBG 1.引入依赖(MBG依赖,mabatis,数据库驱动,数据源,lombok) 2.配置连接相关参数 3.将generator ...
- spring boot整合mybatis+通用mapper+pagehelper分页插件
spring boot整合mybatis+通用mapper+pagehelper分页插件 pom依赖 <?xml version="1.0" encoding="U ...
- Springboot集成mybatis通用Mapper与分页插件PageHelper
Springboot集成mybatis通用Mapper与分页插件PageHelper 插件介绍 通用 Mapper 是一个可以实现任意 MyBatis 通用方法的框架,项目提供了常规的增删改查操作以及 ...
- SSM项目使用Mybatis通用mapper插件tk.mybatis的用法
SSM项目使用Mybatis通用mapper插件tk.mybatis的用法 https://blog.csdn.net/qq_40060806/article/details/82949722 TKm ...
- tk mybatis通用mapper
tk mybatis通用mapper 首先要明白, tk mybatis是国人写的对mybatis的增强包, 而不是mybatis官方出的官方包 其github网址如下: https://github ...
- 第02讲:MyBatis通用Mapper
一.windows系统安装MySQL8.0.11 MySQL官方下载地址:https://downloads.mysql.com/archives/community/ 1.将 zip 包解压到相应的 ...
- Mybatis 通用 Mapper 使用 ①
简介 官网链接:https://mapperhelper.github.io/docs/ 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通用方法,还可以很方便的开发自己的通用方 ...
- Mybatis通用Mapper
极其方便的使用Mybatis单表的增删改查 项目地址:http://git.oschina.net/free/Mapper 优点? 不客气的说,使用这个通用Mapper甚至能改变你对Mybatis单表 ...
- ORM框架之Mybatis(六)mybatis通用mapper
一.简介通用mapper 1.1 官方介绍:(官网:https://mapperhelper.github.io/docs/) 通用Mapper都可以极大的方便开发人员.可以随意的按照自己的需要选择通 ...
最新文章
- 从发展滞后到不断突破,NLP已成为AI又一燃爆点?
- java交易系统_基于SSM框架的JAVA二手交易系统
- 给GridView删除列添加删除提示
- 【OS学习笔记】三十九 保护模式十:中断和异常的处理与抢占式多任务对应的汇编代码----动态加载的用户程序/任务一代码
- lstm网络_LSTM(长短期记忆网络)
- Go之Channel
- html 圆圈项目符号,html – 列表项下的项目符号
- matlab 运行 AlexNet
- 我们是已经谈不起恋爱的80后
- easyUI替换非16x16的图标
- 地铁票务管理系统_[地铁票务管理论文] 地铁票务系统 场景法
- Few-Shot Object Detection with Attention-RPN and Multi-Relation Detector 论文翻译
- 小程序分包大小超过限制
- Vue-Layout(可视化布局)
- 第1章思维导图图片版
- DVD转VCD,MPG文件参考
- 基于深度学习的目标检测算法综述(二)
- php class ziparchive not found,php Class 'ZipArchive' not found解决办法(php安装zip扩展)
- 信息流媒体变现_QuestMobile2020中国互联网广告大报告(上篇):2019变现元年启示录,PC落幕,“展示效果”当立!...
- python百钱买百鸡代码_python解决百钱买百鸡
热门文章
- linux亲和性,两种亲和性
- elasticsearch的多索引联合查询以及范围日期查询示例
- 【网页前端设计Front end】CSS入门(看不懂你来打我)
- python二进制相加
- badatatable转成json_C# DataTable 转换成JSON数据 三种方法
- linux 退出服务器_Vue实战091:Vue项目部署到nginx服务器
- oracle rman catalogo,ORACLE 11g RMAN备份恢复--catalog
- 网络推广是什么浅析网站内的链接优化技巧有哪些?
- 浅析营销型网站SEO优化的四大原则!
- python调用大漠插件_Burp Extender Apis 插件开发 (一)