Loading... MyBatis 是一款优秀的持久层框架,它在Java企业级应用中广泛使用,主要用于简化数据库访问层的开发。本文将详细解析一个MyBatis入门程序,帮助你快速掌握其基本使用方法。 ### 一、环境准备 #### 1. 安装必要的软件 - JDK(Java Development Kit) - IDE(如IntelliJ IDEA或Eclipse) - MySQL(或其他关系型数据库) - Maven(项目构建工具) ### 二、创建Maven项目 首先,我们需要创建一个新的Maven项目。在 `pom.xml`文件中添加MyBatis和其他必要的依赖: ```xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.example</groupId> <artifactId>mybatis-demo</artifactId> <version>1.0-SNAPSHOT</version> <dependencies> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.6</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.23</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.30</version> </dependency> </dependencies> </project> ``` ### 三、配置MyBatis #### 1. 配置MyBatis全局配置文件(mybatis-config.xml) 在 `src/main/resources`目录下创建 `mybatis-config.xml`文件,配置MyBatis的基本信息。 ```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> <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> </configuration> ``` #### 2. 配置数据库连接信息(db.properties) 在 `src/main/resources`目录下创建 `db.properties`文件,配置数据库连接信息。 ```properties jdbc.driver=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis_demo jdbc.username=root jdbc.password=root ``` #### 3. 配置MyBatis映射文件(UserMapper.xml) 在 `src/main/resources`目录下创建 `UserMapper.xml`文件,配置SQL映射。 ```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.mapper.UserMapper"> <select id="selectUser" parameterType="int" resultType="com.example.model.User"> SELECT * FROM users WHERE id = #{id} </select> </mapper> ``` ### 四、创建实体类和Mapper接口 #### 1. 创建实体类 在 `src/main/java/com/example/model`目录下创建 `User.java`文件,定义用户实体类。 ```java package com.example.model; public class User { private int id; private String name; private String email; // Getters and setters 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; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } } ``` #### 2. 创建Mapper接口 在 `src/main/java/com/example/mapper`目录下创建 `UserMapper.java`文件,定义Mapper接口。 ```java package com.example.mapper; import com.example.model.User; import org.apache.ibatis.annotations.Select; public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{id}") User selectUser(int id); } ``` ### 五、编写MyBatis工具类 在 `src/main/java/com/example/utils`目录下创建 `MyBatisUtil.java`文件,编写MyBatis工具类,用于获取SqlSessionFactory。 ```java package com.example.utils; import java.io.InputStream; import org.apache.ibatis.io.Resources; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryBuilder; public class MyBatisUtil { private static SqlSessionFactory sqlSessionFactory; static { try { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (Exception e) { e.printStackTrace(); } } public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory; } } ``` ### 六、编写测试类 在 `src/main/java/com/example`目录下创建 `Main.java`文件,编写测试类,测试MyBatis的功能。 ```java package com.example; import com.example.mapper.UserMapper; import com.example.model.User; import com.example.utils.MyBatisUtil; import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; public class Main { public static void main(String[] args) { SqlSessionFactory sqlSessionFactory = MyBatisUtil.getSqlSessionFactory(); try (SqlSession session = sqlSessionFactory.openSession()) { UserMapper mapper = session.getMapper(UserMapper.class); User user = mapper.selectUser(1); System.out.println("User: " + user.getName() + ", Email: " + user.getEmail()); } } } ``` ### 七、运行程序 确保MySQL数据库中已经创建了 `mybatis_demo`数据库和 `users`表,并插入了测试数据: ```sql CREATE DATABASE mybatis_demo; USE mybatis_demo; CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(50), email VARCHAR(50) ); INSERT INTO users (id, name, email) VALUES (1, 'John Doe', 'john.doe@example.com'); ``` 运行 `Main.java`,如果配置正确,将输出: ``` User: John Doe, Email: john.doe@example.com ``` ### 思维导图 ```vditor graph TB A[MyBatis入门程序] --> B[环境准备] A --> C[Maven项目创建] A --> D[MyBatis配置] A --> E[实体类和Mapper接口] A --> F[MyBatis工具类] A --> G[测试类] B --> H[安装必要软件] C --> I[pom.xml配置] D --> J[mybatis-config.xml] D --> K[db.properties] D --> L[UserMapper.xml] E --> M[User实体类] E --> N[UserMapper接口] ``` ### 结论 本文详细介绍了一个MyBatis入门程序的创建过程,从环境准备、Maven项目创建、MyBatis配置、实体类和Mapper接口的定义,到工具类和测试类的编写。通过这个示例,读者可以了解MyBatis的基本使用方法,并在实际项目中应用这些知识。 最后修改:2024 年 08 月 09 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏