今天学习了用spring配置druid数据源的三种方式,整理了学习笔记,希望大家喜欢!
二、数据源的作用
数据源(连接池)是提高程序性能如出现的事先实例化数据源,初始化部分连接资源使用连接资源时从数据源中获取使用完毕后将连接资源归还给数据源常见的数据源:dbcp
、c3p0
、bonecp
、druid
等等,本文主要以druid数据源为案例实现spring对数据源的开发应用
先创建一个maven工程,引入依赖,为了方便起见,我还导入了junit的依赖,此外,还如何让别人喜欢你有mysql的驱动依赖、druid数据源的依赖和spring依赖
<dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.12</version> </dependency> <dependency> <groupid>mysql</groupid> <artifactid>mysql-connector-java</artifactid> <version>8.0.27</version> </dependency> <dependency> <groupid>com.alibaba</groupid> <artifactid>druid</artifactid> <version>1.1.22</version> </dependency> <dependency> address是什么意思 <groupid>org.springframework</groupid> <artifactid>spring-context</artifactid> <version>5.3.14</version> </dependency> </dependencies>
直接编写一个测试类,开始测试
@test public void test1() throws sqlexception { //创建数据源对象 druiddatasource datasource = new druiddatasource(); //设置数据源的基本连接数据 datasource.tdriverclassname("com.mysql.cj.jdbc.driver"); datasource.turl("jdbc:mysql://localhost:3306/test"); datasource.turname("root"); datasource.tpassword("0315"); //使用数据源获取连接资源 connection connection = datasource.getconnection(); /施工方案怎么写/打印连接资源的信息 system.out.println(connection); //关闭连接资源 connection.clo(); }
分析: tdriverclassname()
填入的是连接驱动类driver的包路径、turl()
设置要连接的数据库的地址、turname()
自己的数据库用户名、tpassword()
数据库密码
运行结果:
在resources
下建一个名为jdbc.properties
的文件,填入数据源的基本连接数据
jdbc.driver=com.mysql.cj.jdbc.driverjdbc.url=jdbc:mysql://localhost:3306/testjdbc.urname=rootjdbc.password=0315
编写一个测试类,开始测试
@test public void test2() throws sqlexception { //resourcebundle这个类专门用来读取properties类型的文件 resourcebundle bundle = resourcebundle.getbundle("jdbc"); //设置数据源的基本连接数据 string driver = bundle.getstring("jdbc.driver"); string url = bundle.getstring("jdbc.url"); string urname = bundle.getstring("jdbc.urname"); string password = bundle.getstring("jdbc.password"); druiddatasource datasource = new druiddatasource(); datasource.tdriverclassname(driver); datasource.turl(url); datasource.turname(urname); datasource.tpassword(password); druidpooledconnection connection = datasource.getconnection(); system.out.println(connection); connection.clo(); }
这种方式就比方式一好很多了,如果我们使用的数据库发生了改变,就只需要在properties文件中进行修改,从而不需要从代码中修改,提高了开发的效率
继续使用前面的jdbc.properties
文件,我们可以将数据源的创建权交由spring容器去完成,编写一个名为applicationcontext.xml
的spring配置文件,把数据源放入spring容器中
<?xml version="1.0" encoding="utf-8"?><beans xmlns="/d/file/titlepic/" xmlns:xsi="/d/file/titlepic/xmlschema-instance" xsi:schemalocation="http://www.springframework.org/schema/beans /d/file/titlepic/spring-beans.xsd"> <bean id="datasource" class="com.alibaba.druid.pool.druiddatasource"> <property name="driverclassname" value="com.mysql.cj.jdbc.driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/test"></property> <property name="urname" value="root"></property> <property name="password" value="0315"></property> </bean></beans>
通过这种spring配置文件的方式,我们就可以获取了数据源,接下来写一个代码用来测试
@test public void test3() throws sqlexception { applicationcontext application立方体context = new classpathxmlapplicationcontext("applicationcontext.xml"); druiddatasource datasource = applicationcontext.getbe你是你我是我an(druiddatasource.class); druidpooledconnection connection = datasource.getconnection(); //打印连接信息 system.out.println(connection); connection.clo(); }
运行结果:
不知道小伙伴们看到value的属性值那么长,有没有感觉到一丝丝的不舒服,反正我是有。那么有没有一种方法能够将配置更加的清晰明了呢?答案是:有!那么该如何做呢?
首先要做的是,把jdbc.properties
配置文件的对象放进spring容器中,这样就方便了以后的调用,具体代码:
<?xml version="1.0" encoding="utf-8"?><beans xmlns="/d/file/titlepic/" xmlns:xsi="/d/file/titlepic/xmlschema-instance" xmlns:context="/d/file/titlepic/" xsi:schemalocation="http://www.springframework.org/schema/beans /d/file/titlepic/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:property-placeholder location="classpath:jdbc.properties"/> <bean id="datasource" class="com.alibaba.druid.pool.druiddatasource"> <property name="driverclassname" value="${jdbc.driver}"></property> <property name="url" value="${jdbc.url}"></property> <property name="urname" value="${jdbc.urname}"></property> <property name="password" value="${jdbc.password}"></property> </bean></beans>
分析: 首先要在头文件中引入下图所示的名称空间,最后value的属性值用${key}
的方式获取到jdbc.properties
的value值,这样的运行结果也是跟上面一样
我们最需要掌握的就是最后一种方法,一定要学会这种配置方式!
到此这篇关于spring配置数据源的三种方式(小结)的文章就介绍到这了,更多相关spring配置数据源内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 16:30:32,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/a80c5cd9ac0608c0d2d61b3ea170860c.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Spring配置数据源的三种方式(小结).doc
本文 PDF 下载地址:Spring配置数据源的三种方式(小结).pdf
留言与评论(共有 0 条评论) |