JAVA认证基础知识:JSP使用数据库操作
在JSP 中可以使用Java 的JDBC 技术,实现对数据库中表记录的查询、修改和删除等操作。JDBC 技术在JSP 开发中占有很重要的地位。
JDBC(Java DataBase Connectivity)是Java 数据库连接API.简单地说,
JDBC 能完成三件事:
(1) 与一个数据库建立连接,
(2) 向数据库发送SQL 语句,
(3) 处理数据库返回的结果。
JDBC 和数据库建立连接的一种常见方式是建立起一个JDBC─ODBC 桥接器。由于ODBC 驱动程序被广泛的使用,建立这种桥接器后,使得JDBC 有能力访问几乎所有类型的数据库。JDBC 也可以直接加载数据库驱动程序访问数据库,如果使用 JDBC─ODBC 桥接器访问数据库,事先必须设置数据源。
1.数据源
利用系统建立一个ODBC数据源。
-ODBC 桥接器
建立一个JDBC─ODBC 桥接器,即加载桥接器驱动程序。
ame("OdbcDriver");
Class 是包 中的一个类,该类通过调用它的静态方法forName 就可以建立JDBC-ODBC 桥接器。
3.查询记录
(1)连接到数据库
首先使用包 中的Connection 类声明一个对象,然后再使用类DriverManager 调用它的.静态方法getConnection 创建这个连接对象:
Connection con = onnection("jdbc:odbc:数据源名字","login name", "password ");
(2)向数据库发送SQL 语句。
首先使用 Statement 声明一个SQL 语句对象,然后通过刚才创建的连接数据库的对象con 调用方法createStatment()创建这个SQL 语句对象。
Statement sql=teStatement();
(3)处理查询结果
有了 SQL 语句对象后,这个对象就可以调用相应的方法实现对数据库中表的查询和修改。并将查询结果存放在一个ResultSet 类声明的对象中,也就是说SQL 语句对数据库的查询操作将返回一个ResultSet 对象:
ResultSet rs=uteQuery("SELECT * FROM 成绩表");
ResultSet 对象是以统一形式的列组织的数据行组成。ResultSet 对象一次只能看到一个数据行,使用next()方法走到下一数据行,获得一行数据后,
ResultSet 对象可以使用getxxxx 方法获得字段值,将位置索引(第一列使用1,第二列使用2 等等)或字段名传递给getxxxx方法的参数即可
使用结果集Result 的next()方法,可以顺序的查询。一个结果集将游标最初定位在第一行的前面,第一次调用next()方法使游标移动到第一行。
next()方法返回一个boolean 型数据,当游标移动到最后一行之后返回false.
可滚动的结果集:
Statement stmt=teStatement(int type ,int concurrency);
根据参数的 type、concurrency 的取值情况,stmt 返回相应类型的结果集:
type 的取值决定滚动方式,取值可以是:
_FORWORD_ONLY :结果集的游标只能向下滚动。
_SCROLL_INSENSITIVE :结果集的游标可以上下移动,当数据库变化时,当前结果集不变。
_SCROLL_SENSITIVE :返回可滚动的结果集,当数据库变化时,当前结果集同步改变。
Concurrency 取值决定是否可以用结果集更新数据库,Concurrency 取值:
UR_READ_ONLY:不能用结果集更新数据库中的表。
UR_UPDATETABLE:能用结果集更新数据库中的表。
滚动查询经常用到 ResultSet 的下述方法:
public boolean previous():将游标向上移动,该方法返回boolean 型数据,当移到结果集第一行之前时返回false.
public void beforeFirst():将游标移动到结果集的初始位置,即在第一行之前。
public void afterLast():将游标移到结果集最后一行之后。
public void first():将游标移到结果集的第一行。
public void last():将游标移到结果集的最后一行。
public boolean isAfterLast():判断游标是否在最后一行之后。
public boolean isBeforeFirst():判断游标是否在第一行之前
public boolean ifFirst():判断游标是否指向结果集的第一行。
public boolean isLast():判断游标是否指向结果集的最后一行。
public int getRow():得到当前游标所指行的行号,行号从1 开始,如果结果集没有行,返回0
public boolean absolute(int row):将游标移到参数row 指定的行号。
注意:如果row 取负值,就是倒数的行数,absolute(-1)表示移到最后一行,absolute(-2)表示移到倒数第2 行。当移动到第一行前面或最后一行的后面时,该方法返回false。
-
JS控制html控件的方法
为了方便广大计算机爱好者,下面YJBYS小编为大家整理了关于JS控制html控件的方法,希望对你有所帮助。方法一:《divid=myDiv》《/div》//容器varstrInnerHtml=《inputid=myInputtype=text》;//要添加的控件rHTML=strInnerHtml;//执行添加动作方法二:《divid=myDiv》...
-
JavaWeb(J2EE)面试题及答案
1、JSP如何处理运行时异常(run-time)exceptions?可以使用页面的errorPage属性捕获没有处理的运行时异常,然后自动转向到一个错误处理页面,代码如下:如果在页面请求时出现运行时异常是,以上代码会把页面转向到JSP页面,在里面,可以通过以下代码定义这个页面是错误处理...
-
如何使用Swing编写全屏程序
也许用到的机会很少,但JDK还是为我们提供了这个的功能。像许多软件中的打印预览功能,还有某些文本编辑器中为了获得更大的编辑画面,也用到了全屏幕模式,如果你有兴趣写一个像ACDSee这样的软件,使用全屏幕模式可以让用户看到更大的图片画面。如何使用全屏幕模式?关键...
-
java认证考试科目设置
Java相关的认证有四个,分别是SCJP、SCWD、SCJD、SCAJ,考试时皆以英文出题,但在台湾SCJP考试可以选择使用繁体中文版考题。这几项认证考试的特点分述如下:SCJP(SunCertifiedJavaProgrammer):测试Java程序设计的观念和能力,内容偏重于Java语法和JDK内容。共59题复选及...