【Mybatis】Mybatis的工作原理

目录

 

工作原理图

 使用 MyBatis 操作数据库通常需要以下几个步骤:

1、配置数据库连接信息:

2、定义数据表对应的实体类:

3、编写 SQL 映射文件:

4、配置 MyBatis 映射文件:

5、创建 MyBatis 的 SqlSessionFactory:

6、创建 SqlSession:

7、执行 SQL 查询:

8、处理查询结果:

9、提交事务或回滚:

10、释放资源:


 

工作原理图

 使用 MyBatis 操作数据库通常需要以下几个步骤:

1、配置数据库连接信息:

        在 MyBatis 的配置文件中,需要指定数据库的连接信息,例如数据库类型、URL、用户名和密码等。

<configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC" />
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/mydatabase" />
        <property name="username" value="root" />
        <property name="password" value="password" />
      </dataSource>
    </environment>
  </environments>
</configuration>

2、定义数据表对应的实体类:

        创建 Java 类,用于映射数据库中的表结构。该实体类的字段应该与数据库表中的列相对应,并提供相应的 getter 和 setter 方法。

public class User {
  private int id;
  private String name;
  private int age;

  // getter 和 setter 方法
  // ...
}

3、编写 SQL 映射文件:

        创建一个 XML 文件,用于存放 SQL 语句。在该文件中,可以定义查询、插入、更新和删除等操作的 SQL 语句,以及参数的映射关系。

<mapper namespace="com.example.mapper.UserMapper">
  <select id="getUserById" resultType="com.example.model.User">
    SELECT * FROM User WHERE id = #{id}
  </select>
</mapper>

4、配置 MyBatis 映射文件:

        在 MyBatis 的配置文件中,需要引入之前编写的 SQL 映射文件,并且配置相应的命名空间和别名。

<configuration>
  <mappers>
    <mapper resource="com/example/mapper/UserMapper.xml" />
  </mappers>
</configuration>

5、创建 MyBatis 的 SqlSessionFactory:

        在 Java 代码中,使用 MyBatis 提供的 SqlSessionFactoryBuilder 来创建 SqlSessionFactory,它是 MyBatis 的核心类,负责创建 SqlSession 的实例。

6、创建 SqlSession:

        使用 SqlSessionFactory 创建一个 SqlSession 实例,通过 SqlSession 可以执行具体的数据库操作,如查询、插入、更新和删除等。

SqlSession sqlSession = sqlSessionFactory.openSession();

7、执行 SQL 查询:

        在 SqlSession 中调用相应的方法执行 SQL 查询操作,如 selectOne()selectList() 等,可以传递参数并获取返回的结果。

User user = sqlSession.selectOne("com.example.mapper.UserMapper.getUserById", 1);

8、处理查询结果:

        获取 SQL 查询的返回结果,并通过之前定义的实体类进行封装,从而将查询结果转化为 Java 对象。

9、提交事务或回滚:

        如果在数据库操作中使用了事务管理,需要在适当的时候提交事务或回滚事务,以确保数据的一致性。

sqlSession.commit(); // 提交事务
// 或
sqlSession.rollback(); // 回滚事务

10、释放资源:

        使用完 SqlSession 后,需要手动关闭它以释放数据库连接和相应的资源,可以通过 close() 方法来关闭。

sqlSession.close();

猜你喜欢

转载自blog.csdn.net/miles067/article/details/132778980