在上一节中,我们成功将数据从前台的JSP页面传递到了controller层,但是还没有写service层,老实说还有很多工作没有,尤其是和数据库的链接方面的,所以,这一节,我们专门来处理一下关于数据库连接方面的东西。
01 序言
你可能之前听过了很多新名词,比如数据源,连接池,还有c3p0等等。作为新手很容易被这些名词给吓到,因为一般的培训机构不会告诉你这些,他们仅仅是给你讲了最基本的jdbc,一般来说,就是告诉你用Java代码来操作数据库的几个步骤。
首先,加载驱动类(妈了个鸡蛋糕,对初学者而言,很可能连反射都不知道,就在那学习加载什么驱动类了,天知道学了些什么,越听越糊涂)。
我有很多去培训机构的朋友就是如此,培训都结束了,也不知道为什么要学jdbc,只会课堂上那几个干巴巴的案例。去企业面试都只有被嘲笑的份。
然后,加载好了驱动类,需要用一个什么 **DriverManager **来获取链接。再接着,就写预处理语句,执行一下,拿到结果集 ResultSet 。(妈了个鸡蛋糕,对初学者而言,都不知道基本的迭代器,循环,就在那写什么 **while(rs.next()){ ... } ** 了,最终的结果可想而知。
我个人是不太主张去那些不太出名的,或者口碑很差的培训机构,如果一定要去培训,那么起码找个靠谱的吧,毕竟花这么多钱呢!如果花了钱,大部分知识竟然还是要去企业里面从0学起,到那时候你真的是要多郁闷有多郁闷。
不过也没办法,因为就算是再差的培训机构,教的也总是要比学校实用一些。每年都有那么多毕业生毕业后不知道干嘛,说起来真是挺郁闷的。
去找工作吧,屡屡碰壁,好不容易找到了一个面试的,过去一问,原来是培训的。
然后想想自己确实没有什么技术,所以只好咬咬牙花一万多块钱去培训了。
这样的例子太多了,博主的很多朋友和同学就是这样走上了Java程序开发的道路。
我不反对去培训机构学习,只是我想说,如果自制力好的话,还是尽量自学比较划算。
如果实在没有自控力,去培训机构也是一个不错的选择。
总之,视你的具体情况而定吧。
OK,回到正题。
最后,在jdbc操作的末尾,总归少不了关闭链接,否则会导致资源的浪费。
当然,这些东西的确很重要,jdbc是Java代码访问和操作数据库的方式。这些基本的API方法也形成了所有JDBC框架的根,比如Spring-jdbc就是对这些相对底层的代码的封装。
这就是所谓的jdbc1.0规范,但这样有一个缺点,就是我每次进行数据库操作都要去获取一个连接,然后再自己关掉。这样很麻烦,人总是聪明的,所以为了改进,就有了jdbc2.0规范。
那些数据源,连接池的概念就属于jdbc2.0规范,就是说,我先创建好一大堆连接,谁要用谁就去拿。这样就解决了jdbc1.0的弊端,不需要用户每次都去创建连接,最后再关闭链接了。
因为这个小项目毕竟是以基础优先的,所以我还是介绍一下jdbc1.0的使用方法吧。我会逐步封装出一个JDBC工具类出来,我以前也没写过,都是直接用框架的,这是我的第一次尝试,难免会有不恰当的地方,还希望各位多多包涵。
如有疑问或者不同的见解,可以在评论区指出,我会虚心改正的,谢谢。
02 预备知识
最好对以下知识有一个初步的了解后,再来看本篇文章,当然,不看也没关系啦。。。
1、反射
2、泛型
3、JDBC API简单使用
4、properties 文件的读取
5、 IO流
03 准备好mysql
好了,正式开始吧。我在本地已经安装好了mysql。mysql安装的话,随便百度一下就可以了。
在上一节中,我们新建了一个数据库Article,用户名就是root,密码没有。root用户享有本地mysql的最高权限。
win + R,输入cmd
输入 mysql -uroot (密码不需要填写)
输入 use Article
好了,数据库方面的工作就做好了。
如果无法进入mysql,可能是没有启动。在命令行输入:net start mysql即可。
04 编写jdbc.properties
我们要连接数据库,最基本的信息有用户名,密码,还有数据库名。
于是,我们在src目录上新建一个config源文件夹(注意,是源文件夹,不是普通的文件夹,所有的源文件夹不会真的产生一个文件夹,它里面的文件默认在 CLASSPATH 根目录下),再创建一个jdbc.properties文件:
内容