刚刚学jsp连接数据库,看到这几个类真的懵逼。简单介绍一下
Connection就是和数据源对话,记得要判断有没有连接上
PreparedStatement
简单的说,所有sql语句运行前,必然有个解析过程,就好象java代码的编译一样。如果同样的语句运行多次,当然希望它是一次编译多次运行的。这样可以减少编译的过程。 PrepareStatement就是干这事的。 它其实返回一个编译后的标识。用这个标识系统就可以直接找到编译过的sql来运行。不必要把每次的sql都编译一遍。
此外有些sql只是部分值不同,其他都一样。那么就把不同的部分变成 参数,sql编译后,每次使用不同的参数来实行。
另外由于预编译了,那么sql注入的破坏方式就无效了。因为传入的参数不会改变sql语句的运行。
ResultSet
ResultSet类是一种数据库查询结果存储类,就是当查询数据库的时候,可以将查询的结果放在具体的ResultSet对象中,其实我们把这种存储查询结果的ResultSet对象叫做ResultSet结果集。比如我们用aaa表示一个ResultSet对象。
那么查询的结果无非就是一些符合查询条件的记录集,ResultSet结果集有一个索引指针,最初这个指针是指向第一条记录的前一个位置,也就是没有指向任何内容,使用aaa.next()方法就会使指针往后移动指向下一个记录,所以一定要先执行一次next()函数才会让指针指向第一条记录。
一条记录可能会有好几个属性的内容,那么我们可以使用getXXX(int index)方法类获得具体属性的值,XXX代表以什么样的数据类型方式来读取内容,当指针指向一条记录的时候,比如这条记录的内容就是:0001 张三 3岁。而且这三个属性的值的类型全是String类型,那么我们可以使用aaa.getString(1)来获得内容0001,使用getString(2)来获得内容张三,值得注意:ResultSet的一条记录的索引位置是从1开始的,而不是从0开始。