前言
欢迎回到我们的MyBatis系列教程。在上一期中,我们详细讲解了MyBatis的环境搭建,包括JDK、Maven/Gradle的安装和配置,以及MySQL数据库的准备工作。现在,我们已经搭建好了开发环境,是时候开始配置MyBatis了。本期内容将介绍MyBatis的基本配置,包括MyBatis配置文件和Mapper映射文件的创建与配置。通过这些内容,大家将学会如何正确配置MyBatis以便与数据库进行交互。
3.1 MyBatis配置文件(mybatis-config.xml)
MyBatis的核心配置文件是mybatis-config.xml
,它用于配置MyBatis的全局行为和数据库连接信息。以下是一个基本的mybatis-config.xml
示例:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd"><configuration><!-- 数据库环境配置 --><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo"/><property name="username" value="root"/><property name="password" value="password"/></dataSource></environment></environments><!-- 映射文件配置 --><mappers><mapper resource="com/example/mapper/UserMapper.xml"/></mappers>
</configuration>
配置详解
- environments:配置数据库环境,
default
属性指定默认使用的环境。 - environment:具体环境配置,
id
属性用于标识环境。 - transactionManager:事务管理器配置,这里使用JDBC事务管理。
- dataSource:数据源配置,这里使用连接池方式,包含数据库驱动、URL、用户名和密码等信息。
- mappers:配置映射文件,
resource
属性指定映射文件的路径。
3.2 Mapper映射文件
Mapper映射文件用于定义SQL语句及其与Java对象的映射关系。以下是一个基本的Mapper映射文件示例UserMapper.xml
:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="com.example.mapper.UserMapper"><!-- 查询所有用户 --><select id="getAllUsers" resultType="com.example.model.User">SELECT * FROM users</select><!-- 插入新用户 --><insert id="insertUser" parameterType="com.example.model.User">INSERT INTO users (name, age) VALUES (#{name}, #{age})</insert><!-- 更新用户信息 --><update id="updateUser" parameterType="com.example.model.User">UPDATE users SET name = #{name}, age = #{age} WHERE id = #{id}</update><!-- 删除用户 --><delete id="deleteUser" parameterType="int">DELETE FROM users WHERE id = #{id}</delete></mapper>
配置详解
- namespace:命名空间,用于标识Mapper接口。
- select:查询语句,
id
属性为方法名,resultType
为返回结果类型。 - insert:插入语句,
parameterType
为参数类型。 - update:更新语句,
parameterType
为参数类型。 - delete:删除语句,
parameterType
为参数类型。
3.3 数据模型与Mapper接口
创建数据模型(实体类)
在进行Mapper映射之前,我们需要创建对应的实体类。例如,创建一个User
类:
package com.example.model;public class User {private int id;private String name;private int age;// Getters and Setterspublic int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}
创建Mapper接口
根据Mapper映射文件,我们需要创建对应的Mapper接口UserMapper
:
package com.example.mapper;import com.example.model.User;
import java.util.List;public interface UserMapper {List<User> getAllUsers();void insertUser(User user);void updateUser(User user);void deleteUser(int id);
}
总结
通过以上步骤,我们完成了MyBatis的基本配置,包括MyBatis配置文件、Mapper映射文件的创建与配置以及对应的实体类和Mapper接口的定义。这些配置为我们后续的开发打下了坚实的基础。在下一期中,我们将深入探讨MyBatis的基本CRUD操作,包括插入、查询、更新和删除操作。
感谢大家的阅读,我们下期再见!