开发基础知识 - Mybatis介绍
Introduction
MyBatis的作用:
- 自定义MySQL内容,自由度高
- 对象映射,查询结果会自动转换成 Java 对象
- 代码解耦,SQL 写在 XML 里
使用MyBatis
写配置文件
告诉MyBatis数据库怎么连接,SQL映射文件的位置1
2
3
4
5
6
7
8
9
10
11
12
13
14<!-- mybatis-config.xml -->
<configuration>
<environments>
<environment id="dev">
<dataSource type="POOLED">
<property name="url" value="jdbc:mysql://localhost:3306/test"/>
...
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="mapper/UserMapper.xml"/>
</mappers>
</configuration>定义SQL和映射关系
1
2
3
4
5
6<!-- UserMapper.xml -->
<mapper namespace="com.example.UserMapper">
<select id="getUserById" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
</mapper>
- resultType=”User” 表示 SQL 查询结果转换成 User 对象
- #{id} 是 MyBatis 的占位符,会自动替换参数
定义接口
1
2
3public interface UserMapper {
User getUserById(int id);
}在service层使用
1 |
|
MyBatis原理
MyBatis 利用 Java 的动态代理机制,把你写的 Mapper 接口(如 UserMapper)动态生成一个实现类,这个实现类会根据配置的 XML/注解执行对应的 SQL,并自动把结果映射成对象。
1 |
|
开发基础知识 - Mybatis介绍
https://thiefcat.github.io/2025/07/13/SWE-basic/database/mybatis/