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日

相关文章

  • Java输出系统当前的日期(年月日时分秒毫秒)

    Java中可以使用java.util包下的Date类来输出系统当前的日期和时间。下面是几个不同的方法来输出当前日期时间: 方法一: 使用java.util.Date类 Java中的Date类有一个无参构造方法,它将当前日期和时间设置为系统当前的日期和时间。我们可以使用这个构造方法来创建一个Date对象,并使用SimpleDateFormat类将其格式化为我们…

    Java 2023年5月20日
    00
  • Extjs中通过Tree加载右侧TabPanel具体实现

    实现“Extjs中通过Tree加载右侧TabPanel”需要以下步骤: 创建一个Ext.tree.Panel,用于显示树形结构,其中需要配置store,root等属性。 示例代码: Ext.create(‘Ext.tree.Panel’, { store: yourTreeStore, root: { text: ‘Root’, expanded: true…

    Java 2023年6月15日
    00
  • Spring Security实现用户名密码登录详解

    Spring Security实现用户名密码登录详解 简介 Spring Security是Spring框架的一个模块,用于提供应用程序安全性。Spring Security基于servlet过滤器和Spring IoC,为web请求和方法注释提供安全性。 在本文中,我们将详细介绍Spring Security如何实现用户名密码登录功能,包括安全配置、用户信…

    Java 2023年6月3日
    00
  • 常见的java面试题

    常见的Java面试题攻略 一. Java基础 1. 什么是Java? Java是一门基于类的、面向对象的编程语言,由Sun Microsystems公司于1995年发布。Java跨平台、安全性高、易于学习等特点使它成为一门广泛使用的编程语言。 2. int和Integer有何区别? int是Java的原始数据类型,它的值由32位的二进制数字表示。而Integ…

    Java 2023年5月23日
    00
  • java Springboot实现多文件上传功能

    下面是Java SpringBoot实现多文件上传功能的完整攻略: 1. 搭建SpringBoot工程 首先我们需要通过Maven或Gradle来搭建一个SpringBoot工程,这里以Maven为例: <dependency> <groupId>org.springframework.boot</groupId> &lt…

    Java 2023年5月19日
    00
  • 微软官方SqlHelper类 数据库辅助操作类 原创

    微软官方的SqlHelper类是一个非常好用的数据库辅助操作类,旨在简化与SQL Server数据库交互的代码和流程。下面我将详细讲解如何使用这个类来进行数据库操作。 SqlHelper类的介绍 SqlHelper类是基于ADO.NET的数据库辅助操作类,使用SqlHelper类可以更加容易地执行SQL语句,无需考虑参数、连接、事务等繁琐的细节。SqlHel…

    Java 2023年5月19日
    00
  • Servlet开发JavaWeb工程示例详解

    下面是关于“Servlet开发JavaWeb工程示例详解”的完整攻略: 1. 准备工作 在开始 Servlet 的开发之前,需要做一些准备工作: 安装 JDK 安装 Tomcat 配置环境变量 JDK 的安装和环境变量的配置这里就不再赘述,大家可以自行搜索相关教程进行操作。 Tomcat 的安装可以从官网下载对应版本的压缩包并解压,或者使用包管理器进行安装。…

    Java 2023年6月15日
    00
  • Java 8中 Stream小知识小技巧方法梳理

    Java 8中 Stream小知识小技巧方法梳理 什么是Stream Stream是Java 8中的新特性,它能够处理大批量的数据,并且可以并发处理数据,极大地提升了Java程序的性能。Stream与Java中的集合类(如List、Set、Map等)不同之处在于,它并不直接存储数据,而是对数据进行处理。 Stream的原理 Stream中的数据是以流的方式进…

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