MyBatis入门教程:从零基础到实战

需积分: 1 1 下载量 145 浏览量 更新于2024-09-15 收藏 40KB DOC 举报
MyBatis 入门实例 MyBatis 是一个基于 Java 的持久层框架,它提供了一个简洁的方式来访问数据库。MyBatis 的主要功能是将 Java 对象与 SQL 语句关联起来,从而实现数据的持久化。 MyBatis 的配置文件 在使用 MyBatis 之前,需要创建一个配置文件,用于指定数据库的连接信息和映射文件的路径。配置文件的名称通常为 `configuration.xml`。在本例中,配置文件的内容如下: ```xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <typeAliases> <typeAlias alias="User" type="domain.User"/> </typeAliases> ... </configuration> ``` 在上面的配置文件中,我们定义了一个别名 `User`,它对应的Java类是 `domain.User`。 MyBatis 的映射文件 映射文件是 MyBatis 的核心组件之一,它用于定义从 Java 对象到数据库表的映射关系。在本例中,我们创建了一个名为 `User.xml` 的映射文件,用于定义从 `User` 对象到 `user` 表的映射关系。映射文件的内容如下: ```xml <?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.UserMapper"> <resultMap id="userResultMap" type="domain.User"> <id column="id" property="id" /> <result column="name" property="name" /> </resultMap> <select id="getUser" parameterType="int" resultMap="userResultMap"> SELECT * FROM user WHERE id = #{id} </select> </mapper> ``` 在上面的映射文件中,我们定义了一个名为 `getUser` 的查询语句,用于根据 `id` 查询 `user` 表中的数据。 MyBatis 的实体类 在 MyBatis 中,实体类是用于封装数据的 Java 对象。在本例中,我们创建了一个名为 `User` 的实体类,用于封装 `user` 表中的数据。实体类的代码如下: ```java public class User { private int id; private String name; public User() {} public User(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "User[id=" + id + ",name=" + name + "]"; } } ``` 在上面的实体类中,我们定义了两个私有变量 `id` 和 `name`,用于封装 `user` 表中的数据。 MyBatis 的使用 在使用 MyBatis 之前,需要创建一个名为 `SqlSessionFactory` 的工厂类,用于创建 `SqlSession` 对象。`SqlSession` 对象是 MyBatis 的核心组件之一,用于执行数据库操作。创建 `SqlSessionFactory` 的代码如下: ```java SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream); ``` 在上面的代码中,我们使用 `SqlSessionFactoryBuilder` 创建了一个 `SqlSessionFactory` 对象。 使用 `SqlSessionFactory` 创建 `SqlSession` 对象,用于执行数据库操作。创建 `SqlSession` 对象的代码如下: ```java SqlSession session = factory.openSession(); ``` 在上面的代码中,我们使用 `SqlSessionFactory` 创建了一个 `SqlSession` 对象。 使用 `SqlSession` 对象执行数据库操作,例如查询数据。查询数据的代码如下: ```java User user = session.selectOne("com.example.UserMapper.getUser", 1); ``` 在上面的代码中,我们使用 `SqlSession` 对象执行了一个名为 `getUser` 的查询语句,用于根据 `id` 查询 `user` 表中的数据。 MyBatis 是一个功能强大且灵活的持久层框架,提供了一个简洁的方式来访问数据库。它的配置文件、映射文件和实体类是 MyBatis 的核心组件,用于定义从 Java 对象到数据库表的映射关系。