MyBatis是一個持久層框架,可以通過XML文件或者注解來配置SQL語句,實現CRUD操作。下面是一個簡單的示例,展示如何使用MyBatis進行CRUD操作。
首先,在項目中添加MyBatis的依賴,并配置MyBatis的數據源和Mapper文件位置。
創建一個實體類,例如User,用來映射數據庫中的表結構。
public class User {
private Long id;
private String name;
private Integer age;
// 省略getter和setter方法
}
創建一個Mapper接口,用來定義CRUD操作的方法。
public interface UserMapper {
User selectUserById(Long id);
List<User> selectAllUsers();
void insertUser(User user);
void updateUser(User user);
void deleteUser(Long id);
}
在resources目錄下創建一個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>
在代碼中通過SqlSessionFactory獲取Mapper實例,并調用對應的方法進行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操作的簡單示例,實際項目中可以根據需要進行進一步的配置和優化。