文档章节

MyBatis与Spring的整合

帅得拖网速
 帅得拖网速
发布于 2016/07/16 18:25
字数 481
阅读 87
收藏 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一样。

如下图所示:

© 著作权归作者所有

共有 人打赏支持
帅得拖网速
粉丝 10
博文 64
码字总数 43313
作品 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 项目完整示例02 项目创建-eclipse创建动态web项目 配置文件 junit单元测试

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

noteless
2016/02/24
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

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部