Mybatis、Spring整合

Mybatis 与Spring整合

引入依赖

<!--Mybatis依赖包  -->
    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.2</version>
    </dependency>
    <!-- mybatis -spring整合     -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
    <scope>compile</scope>
</dependency>
<!-- 获取sqlSession     -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.1.9.RELEASE</version>
</dependency>
<!--数据库连接    -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.37</version>
    </dependency>
    <!--数据源 spring/dbcp/c3p0   -->
    <dependency>
      <groupId>c3p0</groupId>
      <artifactId>c3p0</artifactId>
      <version>0.9.1.2</version>
    </dependency>
    <dependency>
      <groupId>commons-dbcp</groupId>
      <artifactId>commons-dbcp</artifactId>
      <version>1.4</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.data</groupId>
      <artifactId>spring-data-commons</artifactId>
      <version>2.1.10.RELEASE</version>
    </dependency>

Mybatis Spring整合主要有两点:

  1. 数据源、动态代理配置转移到applicationContext.xml配置
    此时MybatisConfig.xml如下:
<?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.itcast.pojo"/>
    </typeAliases>
    <plugins>
        <!-- com.github.pagehelper 为 PageHelper 类所在包名 -->
        <plugin interceptor="com.github.pagehelper.PageHelper">
            <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL 六种数据库-->
            <property name="dialect" value="mysql"/>
        </plugin>
    </plugins>
</configuration>

此时 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:tx="http://www.springframework.org/schema/tx"
       xmlns:aop="http://www.springframework.org/schema/aop"
       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/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd">

<!-- 扫描包,对标记注解的类加入到spring容器中     -->
       <context:component-scan base-package="cn.itcast">
<!-- 把controller 层对象交给spring-mvc管理,即在spring-mvc配置文件扫描contrller包         -->
           <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
       </context:component-scan>
       <context:property-placeholder location="classpath*:mysql/mysql.properties"></context:property-placeholder>

    <bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource" >
                 <!--支持el表达式-->
        <property name="driverClassName" value="${jdbc.driver}"/>
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
!--Mybatis 操作对象就是sqlSession 因此配置SqlSesionFactory-->
        <bean id="mySqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 加载MybatisConfig.xml文件          -->
             <property name="configLocation" value="classpath:MybatisConfig.xml"></property>
             <property name="dataSource" ref="basicDataSource"></property>
        </bean>
        <!--动态代理扫描,并加入到spring容器中,实现注入到其他类中-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="cn.itcast.dao"></property>
</bean>
  1. 映射文件名与接口对应关系
    映射文件的所在文件地址和接口一致
    映射文件名=接口名
    映射文件的nameplace = 接口的全限类名称
    包结构相同
    AccountDao.XML上述三个条件不满足,会导致找不到映射文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值