当前位置:首页 > Java > 正文

MyBatis从零开始(手把手教你搭建第一个MyBatis项目)

如果你是刚接触Java开发的新手,或者正在寻找一个简单又强大的数据库操作框架,那么MyBatis是一个非常值得学习的选择。本教程将带你从零开始,一步步搭建并运行你的第一个MyBatis项目,即使你是编程小白也能轻松上手!

什么是MyBatis?

MyBatis 是一个优秀的Java持久层框架,它简化了数据库操作,避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程。通过简单的 XML 或注解来配置和映射原始类型、接口和 Java 的 POJO(Plain Old Java Objects)为数据库中的记录。

MyBatis从零开始(手把手教你搭建第一个MyBatis项目) MyBatis入门 Java持久层框架 MyBatis配置教程 MyBatis CRUD操作 第1张

第一步:创建Maven项目

我们使用 Maven 来管理依赖。打开你的 IDE(如 IntelliJ IDEA 或 Eclipse),创建一个新的 Maven 项目。

第二步:添加MyBatis和数据库驱动依赖

pom.xml 文件中添加以下依赖(以 MySQL 为例):

<dependencies>    <!-- MyBatis核心依赖 -->    <dependency>        <groupId>org.mybatis</groupId>        <artifactId>mybatis</artifactId>        <version>3.5.13</version>    </dependency>    <!-- MySQL数据库驱动 -->    <dependency>        <groupId>mysql</groupId>        <artifactId>mysql-connector-java</artifactId>        <version>8.0.33</version>    </dependency></dependencies>  

第三步:配置MyBatis核心文件

src/main/resources 目录下创建 mybatis-config.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>  <environments default="development">    <environment id="development">      <transactionManager type="JDBC"/>      <dataSource type="POOLED">        <property name="driver" value="com.mysql.cj.jdbc.Driver"/>        <property name="url" value="jdbc:mysql://localhost:3306/testdb?useSSL=false&amp;serverTimezone=UTC"/>        <property name="username" value="root"/>        <property name="password" value="your_password"/>      </dataSource>    </environment>  </environments>  <!-- 注册Mapper文件 -->  <mappers>    <mapper resource="UserMapper.xml"/>  </mappers></configuration>  

第四步:创建实体类和Mapper接口

创建一个简单的用户实体类 User.java

public class User {    private int id;    private String name;    private String email;    // 构造方法、getter 和 setter 省略}  

第五步:编写SQL映射文件

resources 目录下创建 UserMapper.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="UserMapper">  <select id="selectUserById" resultType="User" parameterType="int">    SELECT * FROM users WHERE id = #{id}  </select>  <insert id="insertUser" parameterType="User">    INSERT INTO users (name, email) VALUES (#{name}, #{email})  </insert></mapper>  

第六步:编写测试代码

创建一个测试类 Main.java 来验证是否成功:

import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.InputStream;public class Main {    public static void main(String[] args) throws Exception {        String resource = "mybatis-config.xml";        InputStream inputStream = Resources.getResourceAsStream(resource);        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);        try (SqlSession session = sqlSessionFactory.openSession()) {            // 查询用户            User user = session.selectOne("UserMapper.selectUserById", 1);            System.out.println(user.getName());            // 插入新用户            User newUser = new User();            newUser.setName("张三");            newUser.setEmail("zhangsan@example.com");            session.insert("UserMapper.insertUser", newUser);            session.commit(); // 提交事务        }    }}  

总结

恭喜你!你已经完成了第一个 MyBatis入门 项目。通过本教程,你学会了如何配置 MyBatis、编写 Mapper 文件,并执行基本的 MyBatis CRUD操作。MyBatis 的优势在于其灵活性和对 SQL 的完全控制,非常适合需要精细优化 SQL 的场景。

继续深入学习,你可以探索动态 SQL、缓存机制、关联查询等高级功能。希望这篇 MyBatis配置教程 能为你打下坚实的基础!

关键词提示:MyBatis入门、Java持久层框架、MyBatis配置教程、MyBatis CRUD操作