文档章节

MyBatis与Spring的整合

帅得拖网速
 帅得拖网速
发布于 2016/07/16 18:25
字数 481
阅读 83
收藏 2

MyBatis与Spring的整合第一步当然是导入各自依赖的Jar包,这里强调一下要导入MyBatis提供的与Spring整合的插件包,

如果用Maven项目的话在pom.xml文件中加入以下依赖便可:

        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>1.3.0</version>
        </dependency>

整合的目的就是将MyBatis的所依赖的连接池,SqlSessiond的创建以及MyBatis的事务管理交给Spring去管理。

以下就是Spring的applicationContext.xml配置文件的内容:

<?xml version="1.0" encoding="UTF-8"?>
<beans
        xmlns = "http://www.springframework.org/schema/beans"
        xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
        xmlns:context = "http://www.springframework.org/schema/context"
        xmlns:aop = "http://www.springframework.org/schema/aop"
        xmlns:tx = "http://www.springframework.org/schema/tx"
        xsi:schemaLocation = "
			http://www.springframework.org/schema/beans
			http://www.springframework.org/schema/beans/spring-beans.xsd
			http://www.springframework.org/schema/context
			http://www.springframework.org/schema/context/spring-context.xsd
			http://www.springframework.org/schema/aop
			http://www.springframework.org/schema/aop/spring-aop.xsd
			http://www.springframework.org/schema/tx
			http://www.springframework.org/schema/tx/spring-tx.xsd">
    <!-- 开启Spring注解功能 -->
    <context:annotation-config />
    <!-- 配置Spring注解扫描 -->
    <context:component-scan base-package = "
							at.flying.dao,
							at.flying.service
							" />

    <!-- 开启AspectJ 注解自动代理机制-->
    <aop:aspectj-autoproxy />
    <!-- 开启事务注解 -->
    <tx:annotation-driven />

    <!--引入外部属性文件-->
    <context:property-placeholder location = "classpath:db.properties" />
    <!--配置C3P0连接池-->
    <bean id = "comboPooledDataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name = "driverClass" value = "${mysql.driver}" />
        <property name = "jdbcUrl" value = "${mysql.url}" />
        <property name = "user" value = "${mysql.username}" />
        <property name = "password" value = "${mysql.password}" />
    </bean>
    <!--配置SQLSessionFactory工厂-->
    <bean id = "sqlSessionFactory" class = "org.mybatis.spring.SqlSessionFactoryBean">
        <property name = "dataSource" ref = "comboPooledDataSource" />
        <property name = "configLocation" value = "classpath:mybatis.xml" />
    </bean>

    <!--配置事务管理器-->
    <bean id = "transactionManager"
          class = "org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name = "dataSource" ref = "comboPooledDataSource" />
    </bean>
</beans>

我事务管理采用的是注解的方式,所以这里有必要强调一下,

如果事务管理采用注解的方式的话,那么在配置事务管理器的时候Bean的id必须指定为 transactionManager,否则报错。

如下图所示:

然后就是MyBatis的配置文件和映射文件,比较简单就不再阐述。

然后就是在写DAO层的时候,自己的DAO类可以(并非必须)继承 org.mybatis.spring.support.SqlSessionDaoSupport 这个类。

这类似于使用Hibernate时继承HibernateDaoSupport一样。

如下图所示:

© 著作权归作者所有

共有 人打赏支持
帅得拖网速
粉丝 8
博文 61
码字总数 40662
作品 0
成都
Spring与MyBatis整合

序言 在MyBatis学习中,我们会发现很多重复性的代码,例如: //创建连接 private SqlSessionFactory sqlSessionFactory = SessionFactoryUtils .getSessionfactory().getSqlSessionFactory(......

开源俱乐部
2014/07/09
0
0
ZHENFENGSHISAN/perfect-ssm

Quick Start 项目简介 ssm系列 ssm-demo:Spring+SpringMVC+Mybatis+easyUI整合 perfect-ssm:RESTful API+redis缓存 ssm-cluster:前后端分离+集群部署 ssm-dubbo:dubbo服务化 ssm-micro-se......

ZHENFENGSHISAN
2017/09/18
0
0
spring springmvc mybatis maven 项目整合示例-导航页面

spring原理 实践解析-简单的helloworld spring原理案例-基本项目搭建 01 spring framework 下载 官网下载spring jar包 spring原理案例-基本项目搭建 02 spring jar包详解 spring jar包的用途...

noteless
06/29
0
0
springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建

springmvc学习笔记(6)-springmvc整合mybatis(IDEA中通过maven构建) 标签: springmvc mybatis [TOC] 本文主要展示如何在intellij IDEA中通过maven构建springmvc+mybatis框架的开发环境。 需求...

brianway
2016/03/10
432
0
springmvc 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试

包结构 所需要的jar包直接拷贝到lib目录下 然后选定 build path 之后开始写项目代码 配置文件 ApplicationContext.xml

noteless
2016/02/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一步步编写自己的PHP爬取代理IP项目(二)

这一章节我们正式开展我们的爬虫项目,首先我们先要知道哪个网站能获取到免费代理IP,目前比较火的有西刺代理,快代理等,这里我们拿西刺代理作为例子。 这里就是一个个免费的IP地址以及各自...

NateHuang
27分钟前
1
0
11-利用思维导图梳理JavaSE-Java的反射机制

11-利用思维导图梳理JavaSE-Java的反射机制 主要内容 1.反射与Class类 1.1.反射概念 1.2.Class类 1.3.实例化Class类 1.4.反射的作用 1.5.Class对象的作用 2.反射的深入应用 2.1.调用无参的成...

飞鱼说编程
34分钟前
1
0
How to serve the world from home computer?

最近在开发web应用,很想知道,通过公网来访问,效果会不会好。今天在做家务的时候,突然想到,如果我自己写一个ip转发的工具,不就可以实现了吗?但是转过头一想,这么大众的想法,怎么会没...

pearma
50分钟前
1
0
今天在码云遇到一个很有意思的人 for Per.js

今天在码云遇到一个很有意思的人,他在我的Per.js项目下面评论了一句,大意为“你试试这句代码,看看速度到底是你快还是Vue快”【当然,这个评论被我手残不小心删掉了...】。 然后我就试了,...

Skyogo
今天
50
0
Java -------- 首字母相关排序总结

Java 字符串数组首字母排序 字符串数组按首字母排序:(区分大小写) String[] strings = new String[]{"ba","aa","CC","Ba","DD","ee","dd"}; Arrays.sort(strings); for (int i ...

切切歆语
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部