【mybatis】单表的增删改查操作举例

发布于:2024-05-24 ⋅ 阅读:(135) ⋅ 点赞:(0)

1. 环境准备

  • 添加 MyBatis 和 MySQL JDBC 驱动依赖到你的项目中。
  • 配置 MyBatis 的配置文件(如 mybatis-config.xml)以及 Mapper 映射文件。

2. 创建实体类

  • 创建一个与数据库表对应的 Java 实体类。
public class User {  
    private Integer id;  
    private String name;  
    private String email;  
    // getters and setters  
}

3. 创建 Mapper 接口

  • 创建一个 Mapper 接口,定义与数据库表交互的方法。
public interface UserMapper {  
    // 插入操作  
    int insertUser(User user);  
      
    // 查询操作  
    User selectUserById(Integer id);  
    List<User> selectAllUsers();  
      
    // 更新操作  
    int updateUser(User user);  
      
    // 删除操作  
    int deleteUserById(Integer id);  
}

4. 创建 Mapper XML 映射文件

  • 为 Mapper 接口创建相应的 XML 映射文件。定义 SQL 语句和 Java 方法之间的映射关系。
<mapper namespace="com.example.mapper.UserMapper">  
      
    <!-- 插入操作 -->  
    <insert id="insertUser" parameterType="com.example.model.User">  
        INSERT INTO user (name, email) VALUES (#{name}, #{email})  
    </insert>  
      
    <!-- 查询操作 -->  
    <select id="selectUserById" resultType="com.example.model.User">  
        SELECT * FROM user WHERE id = #{id}  
    </select>  
      
    <select id="selectAllUsers" resultType="com.example.model.User">  
        SELECT * FROM user  
    </select>  
      
    <!-- 更新操作 -->  
    <update id="updateUser" parameterType="com.example.model.User">  
        UPDATE user SET name = #{name}, email = #{email} WHERE id = #{id}  
    </update>  
      
    <!-- 删除操作 -->  
    <delete id="deleteUserById" parameterType="java.lang.Integer">  
        DELETE FROM user WHERE id = #{id}  
    </delete>  
      
</mapper>

5. 在 MyBatis 配置文件中注册 Mapper

<configuration>  
    <!-- ... 其他配置 ... -->  
      
    <mappers>  
        <mapper resource="com/example/mapper/UserMapper.xml"/>  
    </mappers>  
</configuration>

6. 使用 SqlSession 操作数据

  • 通过 SqlSession 来执行 Mapper 接口中定义的方法,从而实现对数据库的操作。
try (SqlSession session = sqlSessionFactory.openSession()) {  
    UserMapper mapper = session.getMapper(UserMapper.class);  
      
    // 插入操作  
    User user = new User();  
    user.setName("张三");  
    user.setEmail("张三@example.com");  
    mapper.insertUser(user);  
      
    // 查询操作  
    User foundUser = mapper.selectUserById(1);  
      
    // 更新操作  
    user.setName("张三");  
    mapper.updateUser(user);  
      
    // 删除操作  
    mapper.deleteUserById(1);  
      
    // 提交事务  
    session.commit();  

    // 关闭事务  
    session.close();  
}


网站公告

今日签到

点亮在社区的每一天
去签到