数据库连接的学习笔记

来源:互联网 发布:阿里云主机管理控制台 编辑:程序博客网 时间:2024/06/05 08:27

                                数据库连接的学习

我们要学习他们的连接方式,(JDBC,DBCP,DButil,),这三种的连接方式大同小异,调用方法不同.

1,JDBC

JDBC的全英文是JAVA DATABASE CONNECTION,

代码第一步:

创建项目工程,创建包和JAVA文件,键入main()方法

再项目下面创建一个lib的文件夹再把JDBC 的JAR包导入到里面去, builde path----add  to builder path,变成小奶瓶

然后输图中的代码


图中的第一部分为准备阶段,定义了交代了你所要连接的数据库地址,还有数据库的用户名和密码.以及要执行的数据库语句,

第二部分为获取连接对象,

第三部分为获取操作对象,

第四部分为执行语句返回的值是影响的行数.

第五部分为关闭操作,关闭所有的连接.和操作对象(减小内存压力)

图中的Sql语句只是插入语句,  在JDBC中如果要执行查询语句的话那么就要调用executeQuery()方法,且要遍历输出;

到此jdbc的入门已经完成.下面进入DBCP的学习.


2.DBCP线程池()

DBCP也是数据库连接的一种方式,他和JDBC的相同之处很多.

在学习JDBC的时候我们发现我们在准备阶段写了很多的定义String代码,那么在DBCP中,我们不用定义这么多String了,因为人家已经给我们在properties文件中写好了

我们只需在文件中找到相应的键然后把值给改成我们想要的值就好.

官方给我们的文件是这样的,好长啊!但是我们值关心她的前几行,很直观很熟悉吧?

那么同样的,我们也要创建一个lib文件夹,把JDBC的JAR包放进去,还有别忘了DBCP自己还有两个包呢,也要放进去,添加小奶瓶

原理一样但是代码还是有一点不一样的,下面看代码


在主方法中的第一行,创建了一个properties对象,为后面的读取properties文件做铺垫.然后就用流来读取文件,用properties来加载进内存

然后创建一个数据源,用数据源来进行连接数据库.再写出你的SQL语句,调用相应的方法执行.


至此我们的DBCP 就学完了,下面进入DBUTIL学习

3.DBUTIL线程池()

DButil的原理和前面两个都是相同的,就是实现不一样,我们要准备DButil相应的JAR包还有配置文件,和上面一样,我们都要进行相应的准备工作

不同的是,如果我们不仅仅是想查看那么简单,我们还要把他以自定义类的方式读出来,存到集合里面去,然后遍历出来,那么我们就要预先写好一个自定义类

比如说定义一个student类,创建一个文件夹,名字叫bean,然后让他实现seralizable(序列化)接口,母的是让他变成二进制文件.


先获取数据源对象,然后用Queryrunner来传参创建queryrunner对象,写好sql语句,然后用runner去调用update执行除了查询的Sql语句,返回影响行数

在下面的注释中我们看到了用runner调用了query的方法,在该方法中参数一为Sql语句,参数二为new beanlisthandler<>(student.class),里面的student就是我们自定义的类,

然后他的返回值就是list类型的,里面存的就是STUDENT类型的数据.我们可以遍历list集合进行查看,或进行其他操作.



4.C3P0(连接池)

该线程池的创造者和DBUTIL都是阿帕奇基金组织的产品,所以里面的方法都是用ComboPoolDataSource()方法来调用的,不过C3p0的书写方法更为简单一点.

和以前几个连接池一样,都要把相应的JAR包导入到lib目录下面去,然后add to path,最后要把两个配置文件复制到src目录下面去,而且在配置文件里面还要进行相应的更改


很明显这个连接池的代码量就是比较少的了.

第一步:创建连接池数据源对象,

第二步:准备好Sql语句

第三步:建立数据库连接

第四步:建立操作对象

第五步:执行sql语句,返回影响的行数






原创粉丝点击