作为Bean容器,Sping框架提供了Ioc机制,可以接管所有组件的创建工作进行依赖管理,因而整合的主要工作就是把MyBatis框架使用中涉及的核心组件配置到Sping容器中,交给Sping来创建和管理。

       业务逻辑对象依赖于MyBatis技术实现的Dao对象,核心是获取SqlSession实例。而SqlSession是通过SqlSessionFactoryBen来获取。

    Sping 和MyBatis整合方法:

    在整合是用到MyBatis-Sping-1.2.0jar

      

<!--Mybatis+Spring整合--><dependency>    <groupId>org.mybatis</groupId>    <artifactId>mybatis-spring</artifactId>    <version>1.2.0</version></dependency>

1、采用MapperScannerConfigurer,它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean。
spring-mybatis.xml:

例:图书添加。

建立数据库:

 创建book实体:

private int id;private String bookname;private int bookprice;

public int getId() {    return id;}

public void setId(int id) {    this.id = id;}

public String getBookname() {    return bookname;}

public void setBookname(String bookname) {    this.bookname = bookname;}

public int getBookprice() {    return bookprice;}

public void setBookprice(int bookprice) {    this.bookprice = bookprice;}

创建IBookDAO
public interface IBookDAO {    public int addbook(book book);}

创建IBookDAO.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE mapper        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--映射文件的根节点  namespace--><mapper namespace="cn.happy.day16ssm.dao.IBookDAO">    <insert id="addbook">        insert into bookshop(bookname,bookprice) values(#{bookname},#{bookprice})    </insert></mapper>service层:
IBookService:
public interface IBookService {    public int addbook(book book);}
BookServiceimpl:
public class BookServiceimpl implements IBookService {    private IBookDAO dao;

    public IBookDAO getDao() {        return dao;    }

    public void setDao(IBookDAO dao) {        this.dao = dao;    }

    public int addbook(book book) {        return dao.addbook(book);

    }}JDBC的四大属性:
jdbc.url=jdbc:mysql:///bookshopjdbc.driverClassName=com.mysql.jdbc.Driverjdbc.username=rootjdbc.password=MyBatis的配置文件:
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE configuration        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"        "http://mybatis.org/dtd/mybatis-3-config.dtd"><!--核心配置文件的根节点--><configuration>    <!--别名的设置-->    <typeAliases>        <package name="cn.happy.day16ssm.entity"></package>    </typeAliases>    <!--管理小配置--></configuration>配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"       xmlns:tx="http://www.springframework.org/schema/tx"       xmlns:aop="http://www.springframework.org/schema/aop"

       xmlns:context="http://www.springframework.org/schema/context"       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xsi:schemaLocation="http://www.springframework.org/schema/beans      http://www.springframework.org/schema/beans/spring-beans-2.5.xsd       http://www.springframework.org/schema/aop      http://www.springframework.org/schema/aop/spring-aop.xsd      http://www.springframework.org/schema/context      http://www.springframework.org/schema/context/spring-context.xsd      http://www.springframework.org/schema/tx      http://www.springframework.org/schema/tx/spring-tx.xsd">    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">        <property value="classpath:jdbc.properties" name="location"></property>    </bean>

   <!--阿里数据源-->    <!--阿里数据源 不想进入阿里的程序员,不是好厨师-->    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">        <property name="url" value="${jdbc.url}"></property>        <property name="driverClassName" value="${jdbc.driverClassName}"></property>        <property name="username" value="${jdbc.username}"></property>        <property name="password" value="${jdbc.password}"></property>    </bean>    <!--将Mybatis SqlsessionFactory-->    <bean  class="org.mybatis.spring.SqlSessionFactoryBean">        <property name="dataSource" ref="dataSource"></property>        <property name="configLocation" value="classpath:mybatis-config.xml"></property>    </bean>

    <!--bookDAO 根据工厂生成session-->    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer" >        <property name="basePackage" value="cn.happy.day16ssm.dao"></property>    </bean>    <!--4.service-->    <bean id="bookService" class="cn.happy.day16ssm.service.BookServiceimpl">        <property name="dao" ref="IBookDAO"></property>

    </bean>

    <!--平台事务管理器-->    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">        <!--注入什么东西 事务对象的来源,一定是Connection -->        <property name="dataSource" ref="dataSource"></property>    </bean>

     <!--方式三:Aspectj AOP 方式管理事物--><tx:advice id="txadvice" transaction-manager="transactionManager">    <tx:attributes>        <tx:method name="addbook" isolation="DEFAULT" propagation="REQUIRED" />    </tx:attributes></tx:advice><aop:config>    <aop:pointcut id="mypoint" expression="execution(* *..day16ssm.service.*.*(..))"></aop:pointcut>    <aop:advisor advice-ref="txadvice" pointcut-ref="mypoint"></aop:advisor></aop:config></beans>

测试类:
public class test16ssm {@Test    public void t01(){    ApplicationContext ac=new ClassPathXmlApplicationContext("applicationContextStockday16ssm.xml");    IBookService service=(IBookService)ac.getBean("bookService");        book book=new book();        book.setBookname("三国演义");        book.setBookprice(200);        service.addbook(book);

}} 运行结果:

运行结果:

转载于:https://www.cnblogs.com/lsj0404/p/7704725.html

Sping和MyBatis的整合相关推荐

  1. 1.springMVC+spring+Mybatis的整合思路

    视频教程地址:http://edu.51cto.com/sd/2cfc2 SSM整合的过程:就是把一些东西交给spring管理,也就是添加配置文件的一个过程.那么有哪些东西我们要交给spring管理呢 ...

  2. SSM框架Spring+SpringMVC+MyBatis——详细整合教程

    2019独角兽企业重金招聘Python工程师标准>>> 摘要: 包括SQL Maps和Data Access Objects(DAO)MyBatis 消除了几乎所有的JDBC代码和参 ...

  3. 孙宇java_[JAVA] 孙宇老师Struts2+Hibernate4+Maven+EasyUI+SpringMvc+Spring+Mybatis+Maven整合课程...

    资源介绍 孙宇老师Struts2+Hibernate4+Maven+EasyUI+SpringMvc+Spring+Mybatis+Maven整合课程 ===============课程目录===== ...

  4. Spring+SpringMVC+MyBatis+easyUI整合优化篇(十三)数据层优化-表规范、索引优化

    本文提要 最近写的几篇文章都是关于数据层优化方面的,这几天也在想还有哪些地方可以优化改进,结合日志和项目代码发现,关于数据层的优化,还是有几个方面可以继续修改的,代码方面,整合了druid数据源也开启 ...

  5. Spring+SpringMVC+MyBatis+easyUI整合优化篇(五)MockMvc服务端的单元测试

    日常啰嗦 承接前一篇文章<Spring+SpringMVC+MyBatis+easyUI整合优化篇(四)单元测试实例>,已经讲解了dao层和service层的单元测试,还有控制器这层也不能 ...

  6. 基于Maven+SpringMVC+Spring+MyBatis+Layui整合框架,超详细的SSM整合❤️

    人生有太多不如意,我们要学会去努力 参考文档:layUI文档:spring家族文档:mybatis文档 前言:SSM 整合 整合的思路是: 先创建spring框架 通过spring整合spring m ...

  7. springboot+mybatis+redis整合

    springBoot+mybatis+redis整合,这里搭建一个简单的框架是为了记录怎么使用redis做缓存. 一.构建一个springboot的maven项目,目录结构如下: 二.在pom.xml ...

  8. springboot mybatis easyui 整合的一个小demo

    springboot mybatis easyui 整合的一个小demo 这是最终完成界面 话不多说 开整! 这是项目结构 数据库 表结构和数据库 (有点乱 之前本来是个正经图书表的 = =.) /* ...

  9. spring + mybatis + c3p0 整合(配置篇)

    摘要 近期由于项目使用mybatis出现了数据源阻塞,导致应用程序假死,服务超时引发严重后果,故此下定决心重新梳理一下spring+mybatis+c3p0整合问题,主要分为:配置.源码(通过一次数据 ...

最新文章

  1. Visual C#使用DirectX实现视频播放
  2. 底层原理_Spring框架底层原理IoC
  3. http接口测试工具——RESTClient
  4. 【省选2020A卷】作业题【矩阵树】【扩域】【莫比乌斯反演】
  5. 计算机基础是高校必修课,高校计算机基础教育教学方式改革
  6. @Scheduled定时任务不生效的原因
  7. Herev Falciani推出新的加密货币和区块链项目
  8. 单片机编程软件很简单(一),keil单片机编程软件忽略警告+全局替换
  9. 手动修改Icon图标的颜色深度(张佩)
  10. 高数篇:高等数学全目录
  11. JEB工具介绍及使用
  12. Photoshop插件-删除中间调通道蒙板-脚本开发-PS插件
  13. win7不显示移动硬盘_小巧便携,自动备份-希捷Backup Plus Slim移动硬盘让资料更安全...
  14. 看完这篇 Linux 的基本操作你就会了!
  15. CSS 零基础到实战(05)布局、盒子模型、弹性盒子【前端就业课 第二阶段】
  16. 解决破解版matlab2018a打开示例或者帮助需要登录账号或者需要输入激活码问题
  17. CVPR 2020 论文大盘点-图像修复Inpainting篇
  18. php投影,使用 CSS 3 制作长投影
  19. springboot 处理put请求参数
  20. 【TS中的面向对象】

热门文章

  1. PPLive通过Windows 7 RC兼容性测试
  2. 《深入解析IPv6(第3版)》——第10章 IPv6路由选择10.1 IPv6中的路由选择
  3. Java 计算接口调用时间
  4. 中国风创业计划PPT模板
  5. windows2012部署的WSUS服务器无法连接微软服务器无法同步
  6. python爬取淘宝全部『螺蛳粉』数据,看看你真的了解螺蛳粉吗?
  7. TPS7A8300画了一个简单的转接板
  8. 物联网在智慧园区的运用
  9. 亚信安全助手怎么卸载
  10. 联想G50 BIOS找不到USB HDD启动项(没有硬盘启动项)