首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Spring配置文件和mybatis入门实操

Spring配置文件和mybatis入门实操

作者头像
小焱
发布2025-11-12 16:13:07
发布2025-11-12 16:13:07
1230
举报
文章被收录于专栏:软件安装软件安装

以下是 Spring 配置文件与 MyBatis 入门实操指南,通过一个简单的“用户信息查询”案例,带你掌握两者的核心配置与整合流程:

一、环境准备
1. 依赖引入(Maven 为例)

pom.xml 中添加核心依赖:

代码语言:javascript
复制
<!-- Spring 核心 -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context</artifactId>
    <version>5.3.20</version>
</dependency>
<!-- Spring JDBC(连接数据库) -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.20</version>
</dependency>
<!-- MyBatis 核心 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
</dependency>
<!-- MyBatis 与 Spring 整合 -->
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>2.0.7</version>
</dependency>
<!-- 数据库驱动(以 MySQL 为例) -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.29</version>
</dependency>
<!-- 连接池 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.16</version>
</dependency>
二、Spring 配置文件核心配置

创建 Spring 配置文件 spring.xml(放在 src/main/resources 下),主要配置数据源、MyBatis 整合bean:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!-- 1. 配置数据源(Druid连接池) -->
    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
        <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&amp;serverTimezone=UTC"/>
        <property name="username" value="root"/> <!-- 你的数据库用户名 -->
        <property name="password" value="123456"/> <!-- 你的数据库密码 -->
    </bean>

    <!-- 2. 配置 MyBatis 的 SqlSessionFactory -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <!-- 关联数据源 -->
        <property name="dataSource" ref="dataSource"/>
        <!-- 配置 MyBatis 核心配置文件路径(可选) -->
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
        <!-- 配置映射文件路径(Mapper.xml) -->
        <property name="mapperLocations" value="classpath:mapper/*.xml"/>
    </bean>

    <!-- 3. 配置 Mapper 接口扫描(自动生成实现类) -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.example.mapper"/> <!-- Mapper接口所在包 -->
    </bean>

</beans>
三、MyBatis 配置
1. 核心配置文件 mybatis-config.xml

(放在 src/main/resources 下,主要配置别名、日志等):

代码语言:javascript
复制
<?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.example.pojo"/> <!-- 实体类所在包 -->
    </typeAliases>

    <!-- 可选:配置日志(打印SQL,方便调试) -->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>
2. 实体类(POJO)

创建 com.example.pojo.User

代码语言:javascript
复制
public class User {
    private Integer id;
    private String name;
    private Integer age;

    // 省略 getter、setter、toString
}
3. Mapper 接口与映射文件

Mapper 接口com.example.mapper.UserMapper

代码语言:javascript
复制
public interface UserMapper {
    // 根据ID查询用户
    User getUserById(Integer id);
}

映射文件src/main/resources/mapper/UserMapper.xml(与接口同名,路径对应)

代码语言:javascript
复制
<?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 接口全类名 -->
<mapper namespace="com.example.mapper.UserMapper">
    <!-- id 对应接口中的方法名,resultType 对应返回的实体类(已配置别名,直接写类名) -->
    <select id="getUserById" resultType="User">
        select id, name, age from user where id = #{id}
    </select>
</mapper>
四、数据库准备

创建 test 数据库和 user 表,并插入测试数据:

代码语言:javascript
复制
CREATE DATABASE test;
USE test;

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(20) NOT NULL,
    age INT
);

INSERT INTO user (name, age) VALUES ('张三', 20), ('李四', 22);
五、编写测试类

创建 com.example.Test 类,加载 Spring 配置并测试:

代码语言:javascript
复制
import com.example.mapper.UserMapper;
import com.example.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
    public static void main(String[] args) {
        // 加载 Spring 配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        // 获取 UserMapper 实例(Spring 自动生成实现类)
        UserMapper userMapper = context.getBean(UserMapper.class);
        // 调用方法查询用户
        User user = userMapper.getUserById(1);
        System.out.println(user); // 输出:User{id=1, name='张三', age=20}
    }
}
六、核心流程说明
  1. Spring 接管资源:通过 spring.xml 配置数据源和 MyBatis 的 SqlSessionFactory,将 MyBatis 核心组件交给 Spring 管理。
  2. Mapper 接口扫描MapperScannerConfigurer 自动扫描指定包下的 Mapper 接口,生成代理实现类,无需手动创建。
  3. SQL 执行:调用 Mapper 接口方法时,MyBatis 会根据映射文件中的 SQL 语句操作数据库,并返回结果。
七、常见问题排查
  • 数据库连接失败:检查 dataSource 中的 url、用户名、密码是否正确,MySQL 服务是否启动。
  • Mapper 映射错误:确保 UserMapper.xmlnamespace 与接口全类名一致,id 与方法名一致。
  • 类路径问题:配置文件路径(如 classpath:mapper/*.xml)需与实际文件位置对应。

通过以上步骤,即可完成 Spring 与 MyBatis 的基础整合与实操,后续可在此基础上扩展增删改查等功能。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、环境准备
    • 1. 依赖引入(Maven 为例)
  • 二、Spring 配置文件核心配置
  • 三、MyBatis 配置
    • 1. 核心配置文件 mybatis-config.xml
    • 2. 实体类(POJO)
    • 3. Mapper 接口与映射文件
  • 四、数据库准备
  • 五、编写测试类
  • 六、核心流程说明
  • 七、常见问题排查
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档