SpringBoot整合Mybatis与druid实现流程详解

SpringBoot整合Mybatis与druid实现流程详解

1. 项目搭建

首先,我们需要在项目中引入以下依赖:

<!-- SpringBoot Web Starter -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- SpringBoot Mybatis Starter -->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version> <!-- 注意版本号 -->
</dependency>

<!-- druid Starter -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.6</version> <!-- 注意版本号 -->
</dependency>

<!-- MySQL Connector -->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

2. 配置数据源

application.properties文件中,配置数据源信息:

# MySQL 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root

# Druid 配置
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.filters=stat,wall,log4j
spring.datasource.initialSize=5
spring.datasource.minIdle=5
spring.datasource.maxActive=20
spring.datasource.maxWait=60000
spring.datasource.testOnBorrow=true
spring.datasource.testWhileIdle=true
spring.datasource.validationQuery=SELECT 1 FROM dual

# Mybatis 配置
mybatis.mapper-locations=classpath:mapper/*.xml

3. 创建Java

3.1 创建数据源配置类

@Configuration
public class DruidDataSourceConfig {

    @ConfigurationProperties(prefix = "spring.datasource.druid")
    @Bean(initMethod = "init")
    public DruidDataSource druidDataSource() {
        return new DruidDataSource();
    }

}

3.2 创建Mybatis配置类

@Configuration
@MapperScan("com.example.mapper")
public class MybatisConfig {

    /**
     * Mybatis分页插件
     */
    @Bean
    public PageInterceptor pageInterceptor() {
        PageInterceptor pageInterceptor = new PageInterceptor();
        Properties props = new Properties();
        props.setProperty("helperDialect", "mysql");
        props.setProperty("reasonable", "true");
        pageInterceptor.setProperties(props);
        return pageInterceptor;
    }
}

3.3 创建Mapper映射类

@Mapper
public interface UserMapper {

    @Select("SELECT * FROM user")
    List<User> getAllUsers();

}

3.4 创建Service类

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List<User> getAllUsers() {
        return userMapper.getAllUsers();
    }

}

3.5 创建Controller类

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> getAllUsers() {
        return userService.getAllUsers();
    }

}

4. 示例

4.1 示例1:获取所有用户信息

在浏览器地址栏输入 http://localhost:8080/users 访问接口,即可获取所有用户信息。其中,8080 为端口号,users 为请求路径。

4.2 示例2:根据ID获取用户信息

UserMapper接口中添加以下方法:

@Select("SELECT * FROM user WHERE id=#{id}")
User getUserById(@Param("id") Long id);

UserController中添加以下接口方法:

@GetMapping("/{id}")
public User getUserById(@PathVariable Long id) {
    return userService.getUserById(id);
}

在浏览器地址栏输入 http://localhost:8080/users/1 访问接口,即可获取ID1的用户信息。

5. 总结

至此,我们已经完成了SpringBoot整合Mybatis与druid的过程,整个流程并不复杂。只需依照以上步骤进行配置,并在Java类中编写相应代码,即可快速搭建一个配置完整的Web应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot整合Mybatis与druid实现流程详解 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Spring Boot 如何正确读取配置文件属性

    Spring Boot 通过@ConfigurationProperties注解实现了属性注入功能,可以方便的读取配置文件中的属性值。下面将详细讲解如何正确读取配置文件属性的完整攻略。 1. 定义@ConfigurationProperties类 首先,我们需要在Spring Boot应用程序中定义一个带有@ConfigurationProperties注解…

    Java 2023年5月26日
    00
  • 详解.NET主流的几款重量级 ORM框架

    详解.NET主流的几款重量级 ORM 框架 在 .NET 开发领域,ORM 框架是不可缺少的一部分。ORM 框架能够将程序和数据库之间的交互转化为对象之间的交互,从而简化了开发过程,提高了代码的可维护性和可读性。 下面将详细讲解.NET 主流的几款 ORM 框架和其使用方法。 Entity Framework Entity Framework 是微软开发的 …

    Java 2023年5月20日
    00
  • php如何调用webservice应用介绍

    什么是Web Service Web Service是一种基于网络的技术,用于实现不同程序之间的互操作性。Web Service通过标准化的协议和格式,允许应用程序通过HTTP请求进行远程方法调用,以获取和传递数据和服务。PHP是一种流行的编程语言,具有广泛的支持和适合于Web Service调用。下面我们来详细了解如何在PHP中调用Web Service。…

    Java 2023年5月19日
    00
  • Servlet实现分页效果

    下面是详细讲解如何在Servlet中实现分页效果的完整攻略: 第一步:获取总记录数 在进行分页时,需要先获取到数据的总记录数。可以通过查询数据表中的记录数或者使用一些第三方工具来获取。 第二步:设置每页显示的记录数和当前页码 需要设置每页显示的记录数和当前页码,这两个值通常是从前端传递过来的。为了避免一些异常情况,需要对这两个值做一些合法性验证。 // 获取…

    Java 2023年6月16日
    00
  • SpringBoot整个启动过程的分析

    Spring Boot整个启动过程的分析 Spring Boot是一个非常流行的Java框架,它提供了许多自动配置功能,使得开发人员可以更快速地构建应用程序。在本文中,我们将深入探讨Spring Boot整个启动过程的分析。 Spring Boot整个启动过程的分析 Spring Boot的整个启动过程可以分为以下几个步骤: 加载Spring Boot应用程…

    Java 2023年5月15日
    00
  • 详解JAVA中的OPTIONAL

    详解JAVA中的Optional Java中的Optional是Java8中新增的类,用于解决空指针异常。Optional类通过包装对象的形式,判断对象是否为空,从而避免空指针异常。 Optional基本概念 Optional的创建 Optional的创建有两种方法:empty()和of(T value)。 当要创建一个空的Optional对象时,可以使用e…

    Java 2023年5月26日
    00
  • 基于JSON实现传输byte数组过程解析

    首先,我们需要明确一下,JSON是一种轻量级的数据交换格式,它使用文本格式,以键值对的形式存储数据。而byte数组是将二进制数据以字节形式存储在内存中,传输byte数组需要将其转换为二进制格式进行传输。 在使用JSON传输byte数组之前,需要将byte数组转换为Base64编码格式,这样才能够将其以字符串形式嵌入JSON对象中。以下是基于JSON实现传输b…

    Java 2023年5月26日
    00
  • 关于Java变量的声明、内存分配及初始化详解

    关于Java变量的声明、内存分配及初始化详解 变量的声明 在Java中,要使用一个变量之前,必须先对其进行声明。变量的声明包括变量类型和变量名。在声明变量时,可以同时对变量进行初始化(赋初值),也可以在后面的步骤中对变量进行赋值。 变量的声明语法格式如下: 变量类型 变量名; 在声明多个同类型的变量时可以使用逗号进行分隔: 变量类型 变量1, 变量2, ..…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部