互联网应用主流框架整合【MyBatis核心组件】
MyBatis 是一个优秀的持久层框架,用于简化数据库操作。以下是 MyBatis 的核心组件及其整合示例:
- SqlSessionFactory: 用于创建 SqlSession 的实例。
- SqlSession: 用于执行 SQL 命令,获取映射器实例,管理事务。
- Mapper: 由开发者编写的接口,用于定义操作数据库的方法。
整合示例代码:
// 配置文件 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>
<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/myapp"/>
<property name="username" value="root"/>
<property name="password" value="password"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="org/myapp/Mapper.xml"/>
</mappers>
</configuration>
// Mapper 接口
package org.myapp;
public interface UserMapper {
User selectUser(int id);
}
// Mapper 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="org.myapp.UserMapper">
<select id="selectUser" resultType="User">
SELECT * FROM users WHERE id = #{id}
</select>
</mapper>
// 使用 MyBatis 的示例代码
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
User user = mapper.selectUser(1);
// 处理 user 对象
}
在这个示例中,我们首先定义了 MyBatis 的配置文件 mybatis-config.xml
,其中包含了环境配置、数据源和 Mapper 文件的位置。接着定义了一个 Mapper 接口和对应的 XML 文件,其中包含了 SQL 查询语句和映射规则。最后,我们通过 SqlSessionFactory
创建了 SqlSession
,并通过它获取了 UserMapper
实例,执行了 selectUser
方法。
评论已关闭