自学内容网 自学内容网

【无标题】

MyBatis 是一个优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的工作,使得开发者可以更专注于 SQL 本身。增删查改(CRUD)是数据库操作中最常见的四种操作,下面简要介绍 MyBatis 如何实现这些功能:

  1. 增加(Create) - 插入数据到数据库中:

    xml

    <insert id="insertUser" parameterType="User">
        INSERT INTO users (id, name, email) VALUES (#{id}, #{name}, #{email})
    </insert>

    对应的 Mapper 接口方法:

    java

    void insertUser(User user);
  2. 删除(Delete) - 从数据库中删除数据:

    xml

    <delete id="deleteUser" parameterType="int">
        DELETE FROM users WHERE id = #{id}
    </delete>

    对应的 Mapper 接口方法:

    java

    void deleteUser(int id);
  3. 查询(Read/Query) - 从数据库中查询数据:

    • 查询单条记录:

      xm

      <select id="selectUserById" parameterType="int" resultType="User">
          SELECT * FROM users WHERE id = #{id}
      </select>
      对应的 Mapper 接口方法:

      java

      User selectUserById(int id);
    • 查询多条记录:

      xml

      <select id="selectAllUsers" resultType="User">
          SELECT * FROM users
      </select>
      对应的 Mapper 接口方法:

      java

      List<User> selectAllUsers();
  4. 修改(Update) - 更新数据库中的数据:

    xml

    <update id="updateUser" parameterType="User">
        UPDATE users SET name = #{name}, email = #{email} WHERE id = #{id}
    </update>

    对应的 Mapper 接口方法:

    java

    void updateUser(User user);

在 MyBatis 中,这些操作通常在 XML 映射文件中定义,然后通过对应的 Mapper 接口来调用。Mapper 接口是一个 Java 接口,它的方法与 XML 文件中定义的 SQL 语句相对应。MyBatis 通过动态代理技术在运行时实现这些接口,并将方法调用转发到 SQL 执行。

使用 MyBatis 时,你还需要配置 SqlSessionFactorySqlSessionSqlSessionFactory 是创建 SqlSession 的工厂,而 SqlSession 提供了执行命令和获取映射器的方法。

简单示例代码如下:

java

SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(reader);
try (SqlSession session = sqlSessionFactory.openSession()) {
    UserMapper userMapper = session.getMapper(UserMapper.class);
    User user = new User();
    user.setId(1);
    user.setName("Kimi");
    user.setEmail("kimi@moonshot.cn");
    userMapper.insertUser(user);
    session.commit();
}

以上代码展示了如何使用 MyBatis 进行增删查改操作。实际使用时,你需要根据具体的数据库表结构和业务需求来编写相应的 SQL 语句和 Mapper 接口。

输出结果映射

输出结果类型可以是 Map、 List 等集合类型,也可以是基本数据类型和 POJO 类型。输出结果映射过程类似于 JDBC 对结果集的解析过程。


原文地址:https://blog.csdn.net/2303_81990289/article/details/144359559

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!