溫馨提示×

怎么使用MyBatis進行CRUD操作

小億
82
2024-04-20 18:24:53
欄目: 編程語言

MyBatis是一個持久層框架,可以通過XML文件或者注解來配置SQL語句,實現(xiàn)CRUD操作。下面是一個簡單的示例,展示如何使用MyBatis進行CRUD操作。

  1. 配置MyBatis

首先,在項目中添加MyBatis的依賴,并配置MyBatis的數(shù)據(jù)源和Mapper文件位置。

  1. 創(chuàng)建實體類

創(chuàng)建一個實體類,例如User,用來映射數(shù)據(jù)庫中的表結(jié)構(gòu)。

public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}
  1. 創(chuàng)建Mapper接口

創(chuàng)建一個Mapper接口,用來定義CRUD操作的方法。

public interface UserMapper {
    User selectUserById(Long id);
    List<User> selectAllUsers();
    void insertUser(User user);
    void updateUser(User user);
    void deleteUser(Long id);
}
  1. 創(chuàng)建Mapper XML文件

在resources目錄下創(chuàng)建一個Mapper XML文件,用來存放SQL語句。

<?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="selectUserById" resultType="User" parameterType="Long">
        SELECT * FROM user WHERE id = #{id}
    </select>
    <select id="selectAllUsers" resultType="User">
        SELECT * FROM user
    </select>
    <insert id="insertUser" parameterType="User">
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>
    <update id="updateUser" parameterType="User">
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>
    <delete id="deleteUser" parameterType="Long">
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>
  1. 使用MyBatis進行CRUD操作

在代碼中通過SqlSessionFactory獲取Mapper實例,并調(diào)用對應(yīng)的方法進行CRUD操作。

SqlSessionFactory sqlSessionFactory = getSqlSessionFactory();
try (SqlSession sqlSession = sqlSessionFactory.openSession()) {
    UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
    
    // 查詢用戶
    User user = userMapper.selectUserById(1L);
    
    // 查詢所有用戶
    List<User> userList = userMapper.selectAllUsers();
    
    // 插入用戶
    User newUser = new User("Alice", 25);
    userMapper.insertUser(newUser);
    
    // 更新用戶
    newUser.setAge(26);
    userMapper.updateUser(newUser);
    
    // 刪除用戶
    userMapper.deleteUser(newUser.getId());
    
    sqlSession.commit();
}

以上就是使用MyBatis進行CRUD操作的簡單示例,實際項目中可以根據(jù)需要進行進一步的配置和優(yōu)化。

0