spring-mybatis.xml 的作用

1.spring-mybatis.xml 的作用

配置数据源>>创建 sqlsessionFactory>>生成 mapper 代理

2.步骤

2.1 配置数据源

  1. 外部db.properties 文件

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/student
jdbc.username=root
jdbc.password=root

2. 引入外部文件

<!--引用外部文件-->
    <context:property-placeholder location="classpath:db.properties"/>
  1. 真正配置数据源

  • 加入依赖

<!-- mysql -->
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
    </dependency>
​
    <!--druid -->
    <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid</artifactId>
      <version>1.1.12</version>
    </dependency>
  1. 用的类是:DruidDataSource

    • property 后的name :在这里是固定的 ,value:是外部文件db.properties 中的键

<!--配置数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}"/>   <!--写这个时 要用到 db.properties-->
        <property name="url" value="${jdbc.url}"/>   <!--写这个时 要用到 db.properties-->
        <property name="username" value="${jdbc.username}"/>   <!--写这个时 要用到 db.properties-->
        <property name="password" value="${jdbc.password}"/>   <!--写这个时 要用到 db.properties-->
    </bean>

2.2创建sqlsessionFactory

  1. 作用

    • SqlSessionFactory是创建SqlSession的工厂

    • SqlSession:是执行持久化操作的对象,类似于JDBC中的Connection。SqlSession对象完全包括以数据库为背景的所有执行SQL操作的方法,它的底层封装了JDBC连接,可以用SqlSession实例来直接执行已映射的SQL语句

  1. MybatisSqlSessionFactoryBean(mybatis-plus)和SqlSessionFactoryBean(mybatis)

    <!--创建 sqlSessionFactory-->
        <bean id="sessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <!--org.mybatis.spring.SqlSessionFactoryBean  -->
            <!--引入数据源-->
            <property name="dataSource" ref="dataSource"/>
            <!--配置mapper 映射文件得位置-->
            <property name="mapperLocations" value="classpath:net/wanho/mapper/*.xml"/>
            <!--类别名-->
            <property name="typeAliasesPackage" value="net.wanho.po"/>
            <property name="configLocation" value="classpath:mybatis.xml"/>
        </bean>

    2.3 生成mapper 的动态代理类

    • 用到的类是:MapperScannerConfigurer

    • 作用:它将会查找类路径下的映射器并自动将它们创建成MapperFactoryBean

    • MapperFactoryBean:注入XXX.mapper接口和sqlSessionFactory(mybatis中提供的SqlSessionFactory接口,MapperFactoryBean会使用SqlSessionFactory创建SqlSession)这两个属性

      <!--自动生成mapper 的动态代理类-->
          <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
              <property name="basePackage" value="net.wanho.mapper"/>
              <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
          </bean>

       

<?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"
       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">
    <!--引用外部文件-->
    <context:property-placeholder location="classpath:db.properties"/>
    <!--配置数据源-->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="${jdbc.driver}"/>   <!--写这个时 要用到 db.properties-->
        <property name="url" value="${jdbc.url}"/>   <!--写这个时 要用到 db.properties-->
        <property name="username" value="${jdbc.username}"/>   <!--写这个时 要用到 db.properties-->
        <property name="password" value="${jdbc.password}"/>   <!--写这个时 要用到 db.properties-->
    </bean>
    <!--创建 sqlSessionFactory-->
    <bean id="sessionFactory" class="com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean"> <!--org.mybatis.spring.SqlSessionFactoryBean  -->
        <!--引入数据源-->
        <property name="dataSource" ref="dataSource"/>
        <!--配置mapper 映射文件得位置-->
        <property name="mapperLocations" value="classpath:net/wanho/mapper/*.xml"/>
        <!--类别名-->
        <property name="typeAliasesPackage" value="net.wanho.po"/>
        <property name="configLocation" value="classpath:mybatis.xml"/>
    </bean>
    <!--自动生成mapper 得代理-->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="net.wanho.mapper"/>
        <property name="sqlSessionFactoryBeanName" value="sessionFactory"/>
    </bean>
</beans>

 理解的图片 

spring-mybatis

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值