SpringBoot使用Java类的方式配置Druid连接池
1、在该项目中需要引入SpringBoot、MyBatis、Druid和MySQL的jar包,创建工程项蚕蝣鲢蹙目依赖的jar包我们不再介绍了,我们从application.properties的配置开始讲起,我们在配置文件中配置好数据源和mybatis,具体的值根据实际情况灵活调整。spring.datasource.type=com.alibaba.druid.pool.DruidDataSourcespring.datasource.url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8spring.datasource.username = rootspring.datasource.password = 123456spring.datasource.driverClassName = com.mysql.cj.jdbc.Drivermybatis.mapperLocations=classpath*:mapper/*.xmlmybatis.typeAliasesPackage=com.example.entity

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());}

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


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


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



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


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



