首页 > 编程语言 > 详细

在 Spring Boot 中使用 Mybtais

时间:2020-10-22 12:12:17      阅读:32      评论:0      收藏:0      [点我收藏+]

准备工作

在 pom.xml 文件添加如下依赖:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.23</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
            <version>8.0.21</version>
        </dependency>

在 application.properties 文件中添加如下配置:

# 配置数据库连接池类型、数据库地址、用户名和密码
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.url=jdbc:mysql://xxx.xxx.xxx.xxx:3306/example?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF-8

在 example 数据库创建 user 表,内容如下:

技术分享图片

示例代码

第一步:创建实体类

新建一个 bean包,在其中写入 Users类:

public class Users {
    private Integer id;
    private String username;
    private String address;

    @Override
    public String toString() {
        return "Users{" +
                "id=" + id +
                ", username=‘" + username + ‘\‘‘ +
                ", address=‘" + address + ‘\‘‘ +
                ‘}‘;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }
}

第二步:创建 Mapper 接口

新建一个 mapper包,在其中写入 UserMapper 接口:

public interface UserMapper {
    List<Users> getAllUsers();
}

UserMapper 接口中,申明一个 getAllUsers()方法,用于查询所有的 user 信息。

为了使该接口类会生效,需要在启动类添加 @MapperScan注解:

@SpringBootApplication
@MapperScan(basePackages = "com.example.mybatis.mapper")
public class MybatisApplication {

    public static void main(String[] args) {
        SpringApplication.run(MybatisApplication.class, args);
    }

}

关于注解@Mapper和注解@MapperScan的用法和区别,参考文章:

@MapperScan注解使用

第三步:创建 Mapper.xml 文件

再在 mapper包,创建一个 UserMapper.xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.mybatis.mapper.UserMapper">
    <select id="getAllUsers" resultType="com.example.mybatis.bean.Users">
        select * from user;
    </select>
</mapper>

这里,标签<mapper></mapper>中的namespace="com.example.mybatis.mapper.UserMapper"建立Mapper接口与Mapper.xml文件之间的映射关系。

标签 <select></select>,表示这是映射查询语句:

  • 属性id="getAllUsers"映射 mapper 接口中定义好的方法

  • 属性resultType="com.example.mybatis.bean.Users"声明该查询语句返回的数据类型,这里的返回类型是javaBean

关于 Mapper.xml 文件的配置详解,参考文章:Mapper XML文件 配置详解

关于 Mapper.xml 文件中 resultType 值说明,参考文章:mybatis里面Mapper的xml文件中resultType值说明

为了使 Mapper.xml文件生效,需要在 pom.xml 文件中的<build>标签内,配置一下:

       <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

测试效果

在测试类中,写入如下测试方法:

@SpringBootTest
class MybatisApplicationTests {

    @Autowired
    UserMapper userMapper;
    @Test
    void contextLoads() {
        List<Users> allUsers = userMapper.getAllUsers();
        System.out.println(allUsers);
    }

}

运行该测试方法,效果如下:

技术分享图片

结语

Mybatis 的特点,主要在于 mapper 接口类和 mapper.xml 文件之间建立的强大映射关系。

要使 mapper接口生效,需要在启动类中使用注解@MapperScan配置一下。

要使 mapper.xml文件生效,需要在pom.xml文件中配置一下。

mapper 接口类和 mapper.xml 文件的编写,是使用 Mybatis 的重点和难点。

每天学习一点点,每天进步一点点。

在 Spring Boot 中使用 Mybtais

原文:https://www.cnblogs.com/youcoding/p/13856683.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!