SpringBoot使用Java类的方式配置Druid连接池

2025-11-19 18:06:13

1、在该项目中需要引入SpringBoot、MyBatis、Druid和MySQL的jar包,创建工程项目依赖的jar包我们不再介绍了,我们从application.properties的配置开始讲起,我们在配置文件中配置好数据源和mybatis,具体的值根据实际情况灵活调整。

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource

spring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8

spring.datasource.username = root

spring.datasource.password = 123456

spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver

mybatis.mapperLocations=classpath*:mapper/*.xml

mybatis.typeAliasesPackage=com.example.entity

SpringBoot使用Java类的方式配置Druid连接池

2、接下来我们创建配置类DataSourceConfiguration,该类必须使用@Configuration注解表明这是一个配置类,然后我们还需要注解@MapperScan("com.example.dao")指定MyBatis扫描的包,该注解也可以加在启动类上。然后我们注入DataSourceProperties 进行连接池的配置,该类是Spring帮我们创建的,我们直接使用即可,接下来便是创建DataSource的bean,并设置连接池的属性,DataSourceTransactionManager 是用于事务管理的,当程序报错的时候使用@Transactional(value = "defaultTransactionManager")即可实现数据库的回退操作。

@AutowiredDataSourceProperties dataSourceProperties;@Bean(name = "defaultDataSource")public DataSource defaultDataSource() {    DruidDataSource dataSource = new DruidDataSource();    dataSource.setDriverClassName(dataSourceProperties.getDriverClassName());    dataSource.setUrl(dataSourceProperties.getUrl());    dataSource.setUsername(dataSourceProperties.getUsername());    dataSource.setPassword(dataSourceProperties.getPassword());    dataSource.setInitialSize(5);    dataSource.setMinIdle(5);    dataSource.setMaxActive(20);    dataSource.setMaxWait(60000);    dataSource.setTimeBetweenEvictionRunsMillis(60000);    dataSource.setMinEvictableIdleTimeMillis(30000);    dataSource.setTestWhileIdle(false);    dataSource.setTestOnBorrow(false);    dataSource.setTestOnReturn(false);    dataSource.setPoolPreparedStatements(true);    dataSource.setMaxPoolPreparedStatementPerConnectionSize(20);    return dataSource;}@Bean(name = "defaultTransactionManager")public DataSourceTransactionManager masterTransactionManager() {    return new DataSourceTransactionManager(new DruidDataSource());}

SpringBoot使用Java类的方式配置Druid连接池

3、接下来我们在数据库中创建t_city表,并创建City实体类,该实体类必须要有getter和setter方法,用于业务代码的实现。注意表和实体类的字段要一致,就算名字不一致也没关系,MyBatis的映射或者别名可以帮助我们实现关联。

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

4、接下来便是具体的业务代码了,如果属性Spring开发的话,理解代码就非常简单了,一般是Controller->Service->Dao这样的结构,简单的增删改查操作,如下图所示。

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

5、注意在使用@Autowired注入CityDao的时候可能有些IDE会报错,是因为我们创建的CityDao类上只使用了@Mapper的注解,要想不报错可以再加上@Repository注解,或者下图所示的方法,File-->Settings->Inspections-->Spring-->Warning,该设置是修改告警级别。

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

6、以上代码编写完成后,剩下的便是MyBatis的xml文件了,如下图所示,可以实现动态传参。最后便是SpringBoot的启动类了,启动类的写法基本上都是模板代码,如下图所示。

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

7、我们使用右键Run启动项目,然后使用Postman测试新增、查询和删除操作。演示的示例比较简单,我们主要讲解Druid的配置,我们假设对MyBatis配置及xml文件的使用是熟悉的,因此没有过多介绍,想要了解的话还是需要系统学习。

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

SpringBoot使用Java类的方式配置Druid连接池

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢