下面我将为你详细讲解 Mybatis 环境搭建和使用实例代码的完整攻略。
环境搭建
1. 下载和配置 Mybatis
Mybatis 官网提供了下载链接,可以去官网 https://mybatis.org/mybatis-3/zh/getting-started.html 下载最新版本的 Mybatis。
下载完成后,将 Mybatis 的 jar 包拷贝到你项目的 Classpath 下,然后在你的项目中添加以下依赖:
<!-- Mybatis 依赖 -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
<!-- MySQL 数据库驱动依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
2. 配置 Mybatis
Mybatis 的配置文件通常命名为 mybatis-config.xml
,需要放置在 Classpath 下。以下是一个配置文件的示例:
<?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.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
在这个配置文件中:
environments
元素用于配置环境,可以定义多个环境。其中default
属性为默认环境,id
属性为环境的唯一标识。transactionManager
元素用于配置事务管理器,这里使用的是 JDBC 事务管理器。dataSource
元素用于配置数据源,这里使用的是 POOLED 数据源,可以做到连接池复用和等待超时检查等功能。mappers
元素用于配置 Mapper 映射文件。
3. 编写 Mapper 映射文件
Mapper 映射文件通常命名为 Mapper.xml
,需要放置在 Classpath 下,并通过 Mybatis 的配置文件进行加载。以下是一个 Mapper 文件的示例:
<mapper namespace="com.example.mapper.UserMapper">
<select id="getUserById" parameterType="int" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="insertUser" parameterType="com.example.entity.User">
INSERT INTO user(name, age) VALUES(#{name}, #{age})
</insert>
</mapper>
在这个 Mapper 文件中:
namespace
属性为 Mapper 接口的全限定名。select
元素用于定义查询操作,id
属性为操作的唯一标识,parameterType
属性为入参类型,resultType
属性为返回值类型。insert
元素用于定义插入操作,剩余属性同上。
使用实例代码
1. 查询操作
以下是一个查询操作示例,首先定义接口:
public interface UserMapper {
User getUserById(int id);
}
然后编写查询操作的实现:
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user.getName());
} finally {
sqlSession.close();
}
其中,MybatisUtil.getSqlSession()
方法用于获取 SqlSession 实例,可以自己封装一个工具类进行调用。
2. 插入操作
以下是一个插入操作示例,首先定义接口:
public interface UserMapper {
int insertUser(User user);
}
然后编写插入操作的实现:
SqlSession sqlSession = MybatisUtil.getSqlSession();
try {
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = new User();
user.setName("test");
user.setAge(20);
int result = mapper.insertUser(user);
sqlSession.commit();
} finally {
sqlSession.close();
}
其中,sqlSession.commit()
方法用于提交事务,将插入操作落实到数据库中。
以上就是 Mybatis 环境搭建和使用实例代码的完整攻略了,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Mybatis环境搭建和使用实例代码 - Python技术站