介绍
介绍
福哥今天带着同学们给我们的TFSpring框架增加JdbcTemplate的功能。虽然这么说,其实福哥并没有对JdbcTemplate进行封装,只是简单的把它配置起来而已。
JdbcTemplate是Java语言操作数据库的主流工具对象,它不仅仅可以操作MySQL,还可以操作很多其他数据库引擎。
JdbcTemplate可以通过execute方法完成更新SQL的运行操作,还可以通过queryForMap、queryForList等等功能方法将数据库里的数据提取出来放入我们的数据结构当中。
MySQL授权
授权
首先,因为IDEA是安装在Windows上面的,所以从IDEA访问TFLinux的MySQL就是远程访问,需要进行授权才可以。
mysql> grant all on *.* to tfums@192.168.1.118 identified by 'abcdef'; Query OK, 0 rows affected, 1 warning (0.00 sec)
SpringBoot自动配置
关闭自动配置
默认SpringBoot会自动载入配置文件里面的数据源参数进行连接,福哥建议关闭它,我们自己来连接。
在项目的Application.java里面将
@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) @SpringBootApplication public class TfspringApplication {
配置数据源
配置MySQL数据源
############################################################################## # mysql ############################################################################## sql.mysql.jdbc-url=jdbc:mysql://192.168.1.168:3306/tfums?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&tinyInt1isBit=false&serverTimezone=UTC&autoReconnect=true&useSSL=false sql.mysql.username=tfums sql.mysql.password=abcdef sql.mysql.driverClassName=com.mysql.cj.jdbc.Driver
依赖项
增加Jdbc依赖项
<!-- jdbc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> <version>2.1.7.RELEASE</version> </dependency>
增加MySQL驱动依赖项
<!-- mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.17</version> </dependency>
ConfigJdbc
定义
@Configuration public class ConfigJdbc {
mysqlDS
@Bean(name = "mysqlDS") @Qualifier("mysqlDS") @ConfigurationProperties(prefix = "sql.mysql") public DataSource mysqlDS(){ return DataSourceBuilder.create().build(); }
mysqlJT
@Bean(name = "mysqlJT") @Qualifier("mysqlJT") public JdbcTemplate mysqlJT( @Qualifier ("mysqlDS") DataSource dataSource ) { return new JdbcTemplate(dataSource); }
ConfigDataSourceObject
定义
@Configuration public class ConfigDataSourceObject {
mysqlJT
@Autowired @Qualifier("mysqlJT") private JdbcTemplate mysqlJT;
getMySQL
public JdbcTemplate getMySQL(){ return mysqlJT; }
讲解
ConfigJdbc
定义
给ConfigJdbc增加@Configuration注解,它需要第一时间运行
mysqlDS
这个方法通过@ConfigurationProperties将配置文件里的sql.mysql.*参数引入进来创建了数据源。
mysqlJT
这个方法通过mysqlDS数据源创建了JdbcTemplate对象,这个JdbcTemplate就可以操作MySQL数据库了。
ConfigDataSourceObject
定义
给ConfigDataSourceObject增加@Configuration注解,它需要第一时间运行
mysqlJT
注入ConfigJdbc的mysqlJT方法的结果到mysqlJT属性上面。
getMySQL
返回mysqlJT这个JdbcTemplate实例,这个是前面一步一步的注入“自动载入”进来的。
使用
代码
List<Map<String, Object>> results = dso.getMySQL().queryForList("show tables"); map.put("queryForList", results);
效果
总结
福哥今天带着童鞋们给TFSpring框架配置了JdbcTemplate功能,我们在控制器里面注入ConfigDataSourceObjec对象的实例,然后通过ConfigDataSourceObject
的getMySQL方法就可以拿到连接了MySQL的JdbcTemplate对象实例了。
下一课,福哥将带着大家给我们的ConfigDataSourceObject增加连接Redis的功能。