返回

MyBatis从入门到精通,轻松掌握持久层开发技术

后端

MyBatis概述

MyBatis是一个基于Java语言的持久层框架,它可以帮助我们轻松地操作数据库,实现数据持久化。MyBatis采用了ORM(对象关系映射)技术,将对象和数据库表进行映射,从而简化了数据库操作,提高了开发效率。

MyBatis入门

1. 准备工作

在开始使用MyBatis之前,我们需要先进行一些准备工作:

  • 下载并安装MyBatis
  • 在项目中引入MyBatis依赖
  • 配置MyBatis

2. 创建第一个MyBatis项目

现在,我们就可以创建一个第一个MyBatis项目了。我们可以使用Maven或Gradle来创建项目,这里我们使用Maven。

<dependencies>
  <dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis</artifactId>
    <version>3.5.9</version>
  </dependency>
</dependencies>

3. 配置MyBatis

我们需要在项目中配置MyBatis,以便MyBatis可以连接数据库并执行SQL语句。我们可以通过在项目中创建一个mybatis-config.xml文件来配置MyBatis。

<?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.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value=""/>
      </dataSource>
    </environment>
  </environments>
  <mappers>
    <mapper resource="UserMapper.xml"/>
  </mappers>
</configuration>

4. 编写第一个MyBatis映射文件

现在,我们可以编写第一个MyBatis映射文件了。映射文件是MyBatis用来将对象和数据库表进行映射的配置文件。我们可以通过在项目中创建一个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="com.mybatis.mapper.UserMapper">
  <select id="selectUserById" resultType="com.mybatis.model.User">
    SELECT * FROM tb_user WHERE id = #{id}
  </select>
  <insert id="insertUser" parameterType="com.mybatis.model.User">
    INSERT INTO tb_user (name, age) VALUES (#{name}, #{age})
  </insert>
  <update id="updateUser" parameterType="com.mybatis.model.User">
    UPDATE tb_user SET name = #{name}, age = #{age} WHERE id = #{id}
  </update>
  <delete id="deleteUser" parameterType="int">
    DELETE FROM tb_user WHERE id = #{id}
  </delete>
</mapper>

5. 编写第一个MyBatis实体类

现在,我们可以编写第一个MyBatis实体类了。实体类是MyBatis用来将对象和数据库表进行映射的Java类。我们可以通过在项目中创建一个User.java文件来编写实体类。

package com.mybatis.model;

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

  // 省略getter和setter方法
}

6. 编写第一个MyBatis测试用例

现在,我们可以编写第一个MyBatis测试用例了。测试用例是用来测试MyBatis是否能够正确地工作。我们可以通过在项目中创建一个UserMapperTest.java文件来编写测试用例。

package com.mybatis.mapper;

import com.mybatis.model.User;
import org.junit.Test;

public class UserMapperTest {

  @Test
  public void testSelectUserById() {
    User user = userMapper.selectUserById(1);
    System.out.println(user);
  }

  @Test
  public void testInsertUser() {
    User user = new User();
    user.setName("John");
    user.setAge(20);
    userMapper.insertUser(user);
  }

  @Test
  public void testUpdateUser() {
    User user = new User();
    user.setId(1);
    user.setName("John Doe");
    user.setAge(21);
    userMapper.updateUser(user);
  }

  @Test
  public void testDeleteUser() {
    userMapper.deleteUser(1);