整合使用持久层框架mybatis 使用SqlSessionTemplate模板类与使用映射接口 对比
spring中整合使用mybatis的用法总结
一:在Spring配置Mybatis
第一步:将mybatis-spring类包添加 到项目的类库中
第二步:编写spring和持久层衔接的xml文件,这里起名为spring-dao.xml
- <!-- 3:配置SqlSessionFactory对象 -->
- <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> ①
- <!-- 注入数据库连接池 -->
- <property name="dataSource" ref="dataSource"/>
- <!-- 配置MyBatis全局配置文件:mybatis-config.xml -->
- <property name="configLocation" value="classpath:mybatis-config.xml"/>②
- <!-- 扫描entity包 使用别名 -->
- <property name="typeAliasesPackage" value=""/>
- <!-- 扫描sql配置文件:mapper需要的xml文件 -->
- <property name="mapperLocations" value="classpath:mapper/*.xml"/> ③
- </bean>
mybatis-spring 类包提供了SqlSessionFactoryBean,以便通过Spring风格创建mybatis的SqlSessionFactory,如①所示。只需要注入数据源并指定mybatis的总配置文件就可以了,如②所示。 mapperLocations属性支持扫描式加载sql映射文件。
二:编写myBatis中的dao
第一种方法:使用SqlSessionTemplate模板类
- mybatis-spring效仿spring的风格提供了一个模板类SqlSessionTemplate,可以通过模板类轻松访问数据库
- 但是这种方法使用字符串指定映射项,容易引起错误,因为字符串本身没有语义性,如果存在编写错误,编译器无法识别,只能在运行期发现。
第二种方法:使用映射接口
接口的名称和映射命名空间相同,接口方法和映射基的id相同
第一步:在spring-dao.xml中添加配置
- <!-- 4:配置扫描Dao接口包,动态实现Dao接口,注入到spring容器中-->
- <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
- <!-- 注入sqlSessionFactory -->
- <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
- <!-- 给出需要扫描Dao接口包 -->
- <property name="basePackage" value=""/>
- </bean>
MapperScannerConfigurer将扫描basePackage所指定的包下的所有的接口类(包括子包),如果它们在sql映射文件中定义过,则将它们动态定义为Spring Bean,这样我们就可以在Service中直接注入映射接口的bean了。
整合使用持久层框架mybatis 使用SqlSessionTemplate模板类与使用映射接口 对比的更多相关文章
- Java数据持久层框架 MyBatis之API学习三(XML 映射配置文件)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- 从零搭建springboot服务02-内嵌持久层框架Mybatis
愿历尽千帆,归来仍是少年 内嵌持久层框架Mybatis 1.所需依赖 <!-- Mysql驱动包 --> <dependency> <groupId>mysql&l ...
- spring boot整合双持久层框架jpa、mybatis
公司之前用的是spring boot + jpa,但由于jpa无法完美的解决某些动态查询问题,就使用的jdbcTemplate 动态封装SQL,由于代码相对复杂,可读性差,现准备再引入mybatis. ...
- 开源顶级持久层框架——mybatis(ibatis)——day02
mybatis第二天 高级映射 查询缓存 和spring整合 课程复习: mybatis是什么? mybatis是一个持久层框架,mybatis ...
- java持久层框架mybatis如何防止sql注入
看到一篇很好的文章:http://www.jfox.info/ava-persistence-framework-mybatis-how-to-prevent-sql-injection sql注入大 ...
- Java数据持久层框架 MyBatis之背景知识三
摘录自:http://www.cnblogs.com/lcngu/p/5437281.html 对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.or ...
- Java数据持久层框架 MyBatis之API学习一(简介)
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Java数据持久层框架 MyBatis之背景知识二
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
- Java数据持久层框架 MyBatis之背景知识一
对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...
随机推荐
- WDA-3-ALV查询
主要是梳理下WebDynpro For ABAP开发过程: 1.创建WebDynpro组件 2.创建WebDynpro应用 1.创建WebDynpro组件 1.1创建 路径:选择Package--&g ...
- js 选项卡制作
知识回顾,制作JS选项卡,仅供参考 html代码: <!DOCTYPE html> <html lang="en"> <head> <me ...
- 1037B--Reach Median(中位数)
median 中位数 odd 奇数 even 奇数 You are given an array aa of nn integers and an integer ss. It is guarante ...
- JSP基本_JavaBeans
1.JavaBeansとはJavaBeansとは.ある機能を一つにまとめたクラスです.Webアプリケーションでは.JavaBeansは主にデータ操作に使用します.データ管理のプログラムをJavaBea ...
- ReactiveX 学习笔记(2)创建数据流
操作符(Operators) Rx 的操作符能够操作(创建/转换/组合) Observable. Creating Observables 本文主题为创建/生成 Observable 的操作符. 这里 ...
- python玩丢手绢问题,出局的顺序
# 丢手绢问题# 游戏规则: 有N个小朋友玩丢手绢游戏,做成一圈,从第一个小朋友开始数数,从一开始数,数到指定数字的小朋友要出列,然后下一个小朋友继续从1开始数,依次类推,算出最后一个留下来的小朋友是 ...
- 3.Java的基本数据类型.md
Java支持的类型分为两类: •基本类型(Primitive Type):boolean和数值类型 ◦整型:byte.short.int.long.char ◦浮点:float.double •nul ...
- Java解决输出数组问题
package test; public class doubleshuzu { public static void main(String[] args) { double a[][]; Stri ...
- 当try-catch-finally代码块遇上return,代码执行流程是怎样
这里打算用一个Java读取文件内容的例子来测试,文件存在,不抛异常,文件不存在,则抛出FileNotFoundException: Java读取文件代码如下: /** * 根据路径和文件名获取内容 * ...
- Numpy知识之随机散步实例
类似于投硬币,简单的随机散步就是在前进一步(+1)和后退一步(-1)之间随机选择. 生成多个随机漫步. 并对多个随机漫步进行简单分析.