怎么使用MyBatis进行CRUD操作

avatar
作者
筋斗云
阅读量: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 selectAllUsers();     void insertUser(User user);     void updateUser(User user);     void deleteUser(Long id); } 
  1. 创建Mapper XML文件

在resources目录下创建一个Mapper XML文件,用来存放SQL语句。

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!