当前位置: 首页 > news >正文

Spring5框架八:整合Mybatis

精心整理了最新的面试资料,有需要的可以自行获取

点击前往百度网盘获取
点击前往夸克网盘获取
1、导入相关的jar包

<dependencies>
        <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.21</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.2</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>5.2.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.8.13</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>2.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
        </dependency>
        <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
        </resources>
    </build>
</dependencies>

2、创建一个实体类

import lombok.Data;

@Data
public class User {
    private int id;
    private String name;
    private String pwd;
}

3、创建一个接口

import java.util.List;

public interface UserMapper {
    List<User> selectUser();
}

4、创建接口的实现类

import org.mybatis.spring.SqlSessionTemplate;

import java.util.List;

public class UserMapperImpl implements UserMapper{

    private SqlSessionTemplate sqlSession;

    public void setSqlSessionTemplate(SqlSessionTemplate sqlSession){
        this.sqlSession = sqlSession;
    }
    public List<User> selectUser() {
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        return mapper.selectUser();
    }
}

5、创建一个与接口同名的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">
<mapper namespace="com.www.mapper.UserMapper">
    <select id="selectUser" resultType="User">
        select * from mybatis.user
    </select>

</mapper>

6、创建一个spring-config的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: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/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">


    <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/mybatis?useSSL=false&amp;serverTimezone=UTC&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
        <property name="username" value="root"/>
        <property name="password" value="123456"/>
    </bean>


    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"></property>

        <property name="configLocation" value="classpath:Mybatis-config.xml"></property>
        <property name="mapperLocations" value="classpath:com/www/mapper/*.xml"></property>
    </bean>

    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">

        <constructor-arg index="0" ref="sqlSessionFactory"></constructor-arg>
    </bean>
    

</beans>

7、创建一个Mybatis-config.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="com.www.pojo"/>
    </typeAliases>

    
</configuration>

8、创建一个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: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/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">

    <import resource="spring-dao.xml"></import>
    
    <bean id="userMapper2" class="com.www.mapper.UserMapperImpl2">
        <property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
    </bean>

    <bean id="userMapper" class="com.www.mapper.UserMapperImpl">
        <property name="sqlSessionTemplate" ref="sqlSession"></property>
    </bean>


</beans>

9、创建测试类

import com.www.mapper.UserMapper;
import com.www.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.io.IOException;
import java.util.List;

public class Test {

    @org.junit.Test
    public void test() throws IOException {
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        UserMapper mapper = (UserMapper) context.getBean("userMapper");
        List<User> userList = mapper.selectUser();
        for (User user:userList
             ) {
            System.out.println(user);
        }
    }
}

10、结果
在这里插入图片描述

相关文章:

  • 11套免费web登录页面模板分享
  • 14.10 Auto-GPT 记忆系统架构设计:实现智能体的长期记忆与经验复用
  • 全面汇总windows进程通信(三)
  • 《2024工业控制系统网络安全态势白皮书》
  • 2016年下半年试题二:论软件设计模式及其应用
  • 开源轻量级文件分享服务Go File本地Docker部署与远程访问
  • CSDN博客写作教学(一):初识markdown编辑器(纯干货)
  • 改进A*算法并用于城市无人机路径规划
  • 【单片机毕业设计13-基于stm32c8t6的智能门禁系统设计】
  • 基于Python+django+mysql旅游数据爬虫采集可视化分析推荐系统
  • 微服务即时通信系统---(三)框架学习
  • 基于GWO灰狼优化的WSN网络最优节点部署算法matlab仿真
  • [ComfyUI] 【AI】高级采样器与一般采样器的区别详解
  • 【蓝桥杯单片机】第十三届省赛第二场
  • ArcGIS Pro热力图制作指南:从基础到进阶
  • Python 数据类型转换
  • vllm部署LLM(qwen2.5,llama,deepseek)
  • DeepSeek 助力 Vue 开发:打造丝滑的单选按钮(Radio Button)
  • Hutool - Script:脚本执行封装,以 JavaScript 为例
  • 高性能GPU计算:释放计算潜力的加速利器
  • 《九龙城寨之围城》斩获香港金像奖九项大奖,包括最佳影片
  • 委员呼吁提高政府机构电话号码准确性,辽宁阜新回应
  • 蜀道考古调查阶段性成果发布,新发现文物遗存297处
  • 一季度公募管理规模出炉:44家实现增长,4家规模环比翻倍
  • 神舟二十号3名航天员顺利进驻中国空间站
  • 限制再放宽!新版市场准入负面清单缩减到106项