Spring整合Mybatis

在上一篇mybatis入门案例的基础上进行spring整合,上一篇:https://blog.csdn.net/weixin_44298385/article/details/115838896

一、增加Spring配置

1. 增加spring-dao.xml配置文件

  • resource文件夹下增加spring文件夹,放置是spring相关xml配置文件。
    在这里插入图片描述

2.导入相关依赖包

  • pom.xml文件
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>

    <dependency>
      <groupId>....org.springframework</groupId>
      <artifactId>spring-webmvc</artifactId>
      <version>5.2.4.RELEASE</version>
    </dependency>

    <dependency>
      <groupId>com.labun</groupId>
      <artifactId>spring-tx</artifactId>
      <version>5.2.1.RELEASE.patched</version>
    </dependency>

    <dependency>
      <groupId>javax.annotation</groupId>
      <artifactId>javax.annotation-api</artifactId>
      <version>1.3.2</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis</artifactId>
      <version>3.5.1</version>
    </dependency>

    <dependency>
      <groupId>org.mybatis</groupId>
      <artifactId>mybatis-spring</artifactId>
      <version>2.0.3</version>
    </dependency>

    <dependency>
      <groupId>.org.springframework</groupId>
      <artifactId>spring-jdbc</artifactId>
      <version>4.3.8.RELEASE</version>
    </dependency>
    

二、spring+mybatis简单案例

1.在dao文件夹下增加PersonMapping接口文件

package com.dao;

import com.pojo.Person;
import java.util.List;

public interface PersonMapping {
    public List<Person> selectAllUser();
}

2.配置spring-dao.xml文件

  • 将mybatis-config的配置交给spring来管理
<?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 https://www.springframework.org/schema/context/spring-context.xsd">

    <context:annotation-config />
    <!-- 扫描jdbc.properties文件 -->
    <context:property-placeholder location="jdbc.properties" />

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/sys?
          useSSL=false&amp;useUnicode=true&amp;
          characterEncoding=utf-8&amp;
          serverTimezone=GMT%2B8"/>
        <property name="username" value="root" />
        <property name="password" value="" />
    </bean>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="mybatis/mybatis-config.xml"/>
    </bean>

    <bean id="personMapping" class="org.mybatis.spring.mapper.MapperFactoryBean">
        <property name="mapperInterface" value="com.dao.PersonMapping" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" />
    </bean>

</beans>

3. mybatis-config.xml文件

  • 由于将配置文件交给了spring,此处不在需要基本配置了,其他spring-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>
    <mappers>
        <!-- 第一种方式,加载 resource-->
        <mapper resource="mybatis/PersonMapping.xml"/>

    </mappers>
</configuration>

4. personMapping.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="com.spring.dao.PersonMapping">
    <select id="selectAllUser" resultType="com.spring.dao.PersonDao">
        SELECT * from person
    </select>

</mapper>

5.测试文件

import com.spring.dao.PersonDao;
import com.spring.dao.PersonMapping;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.ArrayList;
import java.util.List;

public class FirstTest {
    @Test
    public void test(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
                "spring/spring-dao.xml");// 初始化spring
        PersonMapping personDao = (PersonMapping) applicationContext.getBean("personMapping");

        List<PersonDao> user_list = new ArrayList<>();
        user_list = personDao.selectAllUser();
        for (PersonDao user : user_list) {
            System.out.println(user);
        }
        ((ConfigurableApplicationContext) applicationContext).close();
    }
}

6.运行结果

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值