[SpringBoot2.X] 22- 整合持久层技术 -JDBC -配置


prtyaa
prtyaa 2023-12-27 15:02:25 51765
分类专栏: 资讯

1.搭建项目环境-省略

创建表

CREATE TABLE `users` (
`userid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(30) DEFAULT NULL, `usersex` varchar(10) DEFAULT NULL, PRIMARY KEY (`userid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

修改POM文件,添加相关依赖


2 配置数据源 ---最终优化后的版本(尾部为优化推演过程)

2.1添加Druid数据源依赖

在application.properties中添加数据库连接信息

创建配置类,在启动时加载配置信息和数据源


2 通过SpringBoot配置文件配置数据源

在Spring Boot1.x 版本中的spring-boot-starter-jdbc 启动器中默认使用的是

org apache.tomcat.jdbc pool.DataSource作为数据源

♥在Spring Boot2.x 版本中的spring-boot-starter-jdbc 启动器中默认使用的是

com.zaxxer hikariDataSource作为数据源(效率高)

2.1使用Spring Boot默认的HikariDataSource数据源

2.2使用第三方的Druid数据源


开始CRUD的使用前,说下一个异常

在页面加载的时候会加载spring的图标,因为我们配置了页面跳转的controller,查找图片就跑到templates文件夹去找,导致异常

spring2.1.6前 在application.properties文件夹中添加如下配置

spring2.1.6 后

在页面添加如下标签解决

<link rel="shortcut icon" href="../resources/favicon.ico" th:href="@{/static/favicon.ico}"/>

CRUD操作见下方链接

 


推演版本 ---配置数据源 ---不推荐 这里是演示创建和优化过程(方便理解)

2.1添加Druid数据源依赖

2.2创建Properties文件

2.3创建配置类

2.31通过自定义配置文件方式配置数据源信息

2.3.2通过@PropertySource注解读取配置文件

----@propertySource 就是为了获取properties中的配置信息

因为我们现在用的是druid连接池,应该在启动的时候就要创建这个对象

通过IDEA特性就可以看到配置生效了,如果没有生效就是灰色的

配置数据源优化 一

通过@ConfigurationProperties注解读取配置信息

@ConfigurationProperties

是springboot的注解只能用于读取springboot的配置文件,不能读取其他的配置文件

____________________________________________________________________________________________

在上面的步骤中我们配置了一个针对jdbc去配置数据源的配置类,通过这样的代码获取到了数据源所以来的配置信息,但从设计角度而言不是很好,

因为如果其他类要用的话,还需要重新写,

为了充分的复用,就要改进这里,所以就用到了@ConfigurationProperties

 

创建配置信息实体类

@ConfigurationProperties会自动在application.properties文件中读取以jdbc开头的配置文件,以set方法的方式注入信息

同时jdbc后面的名字不能乱取,必须和配置信息实体类保持一致

在application.properties中添加配置信息

修改配置类

使用@EnableConfigurationProperties()

@EnableConfigurationProperties() 注解

在这个注解中,需要一个class的值,可以用其指定配置类是哪个作为配置

然后使用@Autowired 注入对象

用过对象打点属性读取application.properties中的配置

补充知识点,可以用构造方法来注入值----不推荐

配置数据源优化二-终章优化

@ConfigurationProperties 注解的优雅使用方式

@ConfigurationProperties 不仅可以加到类上还可以加在获取数据源的方法上

1.这一步可以删除上面创建的配置信息实体类

2.这个注解就会把从配置文件中解析出来的内容,通过调用

DruidDataSource druidDataSource = new DruidDataSource();

创建的druidDataSource 对象set方法,将值直接注入进去,不需要在手动配置

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=31353
赞同 0
评论 0 条
prtyaaL2
粉丝 1 发表 2553 + 关注 私信
上周热门
如何使用 StarRocks 管理和优化数据湖中的数据?  2966
【软件正版化】软件正版化工作要点  2885
统信UOS试玩黑神话:悟空  2855
信刻光盘安全隔离与信息交换系统  2743
镜舟科技与中启乘数科技达成战略合作,共筑数据服务新生态  1277
grub引导程序无法找到指定设备和分区  1244
华为全联接大会2024丨软通动力分论坛精彩议程抢先看!  169
2024海洋能源产业融合发展论坛暨博览会同期活动-海洋能源与数字化智能化论坛成功举办  168
点击报名 | 京东2025校招进校行程预告  164
华为纯血鸿蒙正式版9月底见!但Mate 70的内情还得接着挖...  161
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

加入交流群

请使用微信扫一扫!