使用mybatis使用xml
时间: 2025-08-27 08:40:22 AIGC 浏览: 8
### 如何在 MyBatis 中使用 XML 进行配置和映射
#### 配置全局设置 `mybatis-config.xml`
为了使 MyBatis 能够正常工作,首先需要创建一个全局配置文件 `mybatis-config.xml`。此文件用于指定数据库连接属性和其他必要的参数。
```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>
<!-- 引入外部的 jdbc 属性 -->
<properties resource="jdbc.properties"/>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
```
上述代码片段展示了如何定义数据源以及加载 SQL 映射器的位置[^5]。
#### 创建 Mapper 接口及其对应的 XML 文件
对于每一个 DAO 或者 Repository 类型接口,都需要有一个相应的 `.xml` 文件来进行具体的 CRUD 操作声明。假设存在名为 `UserMapper.java` 的接口:
```java
public interface UserMapper {
@Select("SELECT * FROM users WHERE id = #{id}")
User getUserById(int id);
}
```
那么应该有如下所示的一个 `UserMapper.xml` 文件与其对应:
```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.example.mapper.UserMapper">
<select id="getUserById" resultType="com.example.model.User">
SELECT *
FROM users
WHERE id = #{id}
</select>
</mapper>
```
这里需要注意的是,在 `<mapper>` 标签内要指明该 xml 所属的 Java 接口名称空间,并且每条 sql 语句都要赋予唯一的 ID 来供调用[^4]。
当希望同时利用 XML 和注解两种方式进行配置时,则需保证 Spring Boot 应用程序上下文中已经注册了正确的自动装配类并设置了合适的路径去扫描这些资源文件[^1]。
阅读全文
相关推荐














