怎么使用MyBatis进行CRUD操作

947
2024/5/4 18:24:53
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

MyBatis是一个持久层框架,可以通过XML文件或者注解来配置SQL语句,实现CRUD操作。下面是一个简单的示例,展示如何使用MyBatis进行CRUD操作。

  1. 配置MyBatis

首先,在项目中添加MyBatis的依赖,并配置MyBatis的数据源和Mapper文件位置。

  1. 创建实体类

创建一个实体类,例如User,用来映射数据库中的表结构。

public class User {
    private Long id;
    private String name;
    private Integer age;
    // 省略getter和setter方法
}
  1. 创建Mapper接口

创建一个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. 创建Mapper XML文件

在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>
  1. 使用MyBatis进行CRUD操作

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

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: mybatis怎么一次更新多个表