Spring - Mybatis

Spring整合Mybatis

Spring - Mybatis 参考教程

Spring整合MyBatis的三个关键点

(1)将MyBatis的DataSource交给Spring IoC容器创建并管理,使用第三方数据库连接池(Druid,C3P0等)代替MyBatis内置的数据库连接池

(2)将MyBatis的SqlSessionFactory交给Spring IoC容器创建并管理,使用spring-mybatis整合jar包中提供的SqlSessionFactoryBean类代替项目中的MyBatisUtil工具类

(3)将MyBatis的接口代理方式生成的实现类,交给Spring IoC容器创建并管理

XMl配置如下:

编写spring.xml配置文件

  • 修改spring.xml—加载数据库连接信息的属性文件

      加载上方的jabc-config.properties数据库连接的基础信息

  • 配置Druid数据源的Bean

      利用阿里巴巴的数据库连接池,根据上方的jabc-config.properties的文件创建一个dataSource连接信息

  • 配置SqlSessionFactory的Bean,并注入DataSource

      把数据库连接存放在工厂中

  • 配置自动扫描mapper的Bean—MapperScannerConfigurer

      把上方的mapper接口文件都自动注入到IoC容器中,实现类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:component-scan base-package="com.tjise.bean"/>-->
    <!-- 加载数据库连接信息的属性文件 -->
    <context:property-placeholder location="classpath:jdbc-config.properties"/>
        <!-- 第一步  配置Druid数据源的Bean -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">

        <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>


    <!-- 第二步 配置 SessionFactory的Bean -->
    <bean id="sessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">

        <!-- 注入数据源 -->
        <property name="dataSource" ref="dataSource"/>

        <!-- 指定MyBatis配置文件的位置 -->
        <property name="configLocation" value="classpath:mybatis.xml"/>

        <!-- 给实体类起别名 -->
        <property name="typeAliasesPackage" value="com.tjise.entity"/>

    </bean>

    <!-- 第三步 配置mapper接口的扫描器,将Mapper接口的实现类自动注入到IoC容器中
     实现类Bean的名称默认为接口类名的首字母小写 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

        <!-- basePackage属性指定自动扫描mapper接口所在的包 -->
        <property name="basePackage" value="com.tjise.mapper"/>

    </bean>
</beans>
View Code
复制代码

 

配置类配置如下:
第一二点

 

 第三点

复制代码
1 @MapperScan("com.ruoyi.**.mapper")
2 @SpringBootApplication
3 public class RuoYiSystemApplication
4 {
5     public static void main(String[] args)
6     {
7         SpringApplication.run(RuoYiSystemApplication.class, args);
8     }
9 }
View Code
复制代码

 

posted @   堤苏白  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
点击右上角即可分享
微信分享提示