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操作的简单示例,实际项目中可以根据需要进行进一步的配置和优化。