1. 环境准备
- 添加 MyBatis 和 MySQL JDBC 驱动依赖到你的项目中。
- 配置 MyBatis 的配置文件(如 mybatis-config.xml)以及 Mapper 映射文件。
2. 创建实体类
- 创建一个与数据库表对应的 Java 实体类。
public class User {
private Integer id;
private String name;
private String email;
// getters and setters
}
3. 创建 Mapper 接口
- 创建一个 Mapper 接口,定义与数据库表交互的方法。
public interface UserMapper {
// 插入操作
int insertUser(User user);
// 查询操作
User selectUserById(Integer id);
List<User> selectAllUsers();
// 更新操作
int updateUser(User user);
// 删除操作
int deleteUserById(Integer id);
}
4. 创建 Mapper XML 映射文件
- 为 Mapper 接口创建相应的 XML 映射文件。定义 SQL 语句和 Java 方法之间的映射关系。
<mapper namespace="com.example.mapper.UserMapper">
<!-- 插入操作 -->
<insert id="insertUser" parameterType="com.example.model.User">
INSERT INTO user (name, email) VALUES (#{name}, #{email})
</insert>
<!-- 查询操作 -->
<select id="selectUserById" resultType="com.example.model.User">
SELECT * FROM user WHERE id = #{id}
</select>
<select id="selectAllUsers" resultType="com.example.model.User">
SELECT * FROM user
</select>
<!-- 更新操作 -->
<update id="updateUser" parameterType="com.example.model.User">
UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}
</update>
<!-- 删除操作 -->
<delete id="deleteUserById" parameterType="java.lang.Integer">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
5. 在 MyBatis 配置文件中注册 Mapper
<configuration>
<!-- ... 其他配置 ... -->
<mappers>
<mapper resource="com/example/mapper/UserMapper.xml"/>
</mappers>
</configuration>
6. 使用 SqlSession 操作数据
- 通过 SqlSession 来执行 Mapper 接口中定义的方法,从而实现对数据库的操作。
try (SqlSession session = sqlSessionFactory.openSession()) {
UserMapper mapper = session.getMapper(UserMapper.class);
// 插入操作
User user = new User();
user.setName("张三");
user.setEmail("张三@example.com");
mapper.insertUser(user);
// 查询操作
User foundUser = mapper.selectUserById(1);
// 更新操作
user.setName("张三");
mapper.updateUser(user);
// 删除操作
mapper.deleteUserById(1);
// 提交事务
session.commit();
// 关闭事务
session.close();
}