Java与数据库操作.ppt
《Java与数据库操作.ppt》由会员分享,可在线阅读,更多相关《Java与数据库操作.ppt(42页珍藏版)》请在三一办公上搜索。
1、第12章 Java 与数据库操作,本章导读JDBC简介JDBC-ODBC桥接器查询操作更新、插入与删除操作用结果集更新表CachedRowSetImpl类预处理语句事务,12.1 JDBC简介,JDBC(Java DataBase Connectivity)是Java运行平台的核心类库中的一部分,提供了访问数据库的API(应用程序接口),它由一些Java类和接口组成。使用JDBC的应用程序一旦和数据库建立连接,就可以使用JDBC提供的API操作数据库,我们经常使用JDBC进行如下的操作:与一个数据库建立连接。向已连接的数据库发送SQL语句。处理SQL语句返回的结果。,12.3 JDBC-ODB
2、C桥接器,JDBCODBC桥接器方式的机制是,应用程序只需建立JDBC和ODBC之间的连接,即所谓建立JDBCODBC桥接器,而和数据库的连接由ODBC去完成 ODBC使用“数据源”来管理数据库,所以必须事先将某个数据库设置成ODBC所管理的一个数据源,应用程序只能请求和ODBC管理的数据源建立连接。,返回,JAVA应用程序使用JDBC-ODBC桥接器访问数据库的三个步骤:,建立JDBC-ODBC桥接器创建ODBC数据源与ODBC数据源建立连接,1、建立JDBC-ODBC桥接器,JDBC使用Java.lang包中的Class类建立JDBC桥接器。Class类通过调用它的静态方法forName(
3、)加载包中的JdbcOdbcDriver类建立JDBD-ODBC桥接器。建立桥接器时可能会发生异常,必须捕获这个异常,建立桥接器的代码如下:);,2、ODBC数据源,为了同数据库建立连接,首先要创建一个ODBC数据源。打开Windows中的控制面,对于WindowXP,选择“性能和维护”“管理工具”“数据源(ODBC)”;对于Window2000,选择“管理工具”“数据源(ODBC)”;,建立数据源的步骤,打开“数据源(ODBC)”将出现ODBC数据源管理器对话框 在ODBC数据源管理器对话框中选择“用户DSN”,然后单击“添加”按钮,将出现安装数据源的驱动程序对话框,可以在选择列表中选择相应
4、的驱动程序。在选择驱动程序对话框选择好驱动程序后,单击“完成”按钮,将出现创建数据源对话框,。在该对话框中,你需要为创建的数据源起一个名称,并为你创建的数据源选择一个数据库。,3、连接数据库,先使用java.sql包中的Connection 类声明一个对象,然后使用类DriverManger调用它的静态方法getConnection()创建这个连接对象:Connection con=DriverManager.getConnection(jdbc:odbc:数据源名字,login name,password);对于Access数据库不必为数据源设置login name和 password,那么
5、连接形式如下:Connection con=DriverManager.getConnection(jdbc:odbc:数据源名字,);,12.4 查询操作,应用程序与数据库建立连接后,就可以使用JDBC提供的API与数据库交互信息,如查询、修改和更新数据库中的表对象等。JDBC与数据库表进行交互的主要方式是使用SQL语句,JDBC提供的API可以将标准的SQL语句发送给数据库,实现与数据库的交互。具体操作步骤如下:,1、向数据库发送SQL查询语句。首先使用Statement声明一个SQL语句对象,然后让已创建的连接对象con调用方法createStatement()创建这个SQL语句对象,代
6、码如下:tryStatement sql=con.createStatement();catch(SQLException),2、处理查询结果 有了SQL语句对象后,这个对象就可以调用相应的方法实现对数据库中表的查询和修改,并将查询结果放在一个ResultSet类声明的对象中,也就是说,SQL语句对对数据库的查询操作将返回一个ResultSet对象,该对象是以统一形式的列组织的数据行组成。如:ResultSet rs=sql.executeQuery(“SELECT*FROM message”);内存的结果集对象rs的列数和表message的列数相同。,ResultSet对象一次只能看到一个数
7、据行,使用next()方法可以将游标移动到数据行,当游标移动到某数据行后,RsultSet对象使用get*()方法,并将位置索引或列名传递给该方法的参数,就可以获得该数据行中相应的列值。方法get*()就是getByte(int columnIndex),getDate(int columnIndex),getInt(int columnIndex),getDouble(int columnIndex),getString(int columnIndex),getLong(int columnIndex),getFloat(int columnIndex)等方法。其中参数也可以是String类
8、型的列名。,1、顺序查询,在例12-1中,查询数据库student.mdb中message表里的全部记录,每条记录包含全部的字段值.,返回,结果集ResultSet对象调用next()方法,可以顺序查询表中的记录。结果集对象将游标最初定位在第一行的前面,第一次调用next()方法使游标移动到第一行,next()方法返回一个boolean型数据,当游标移动到最后一行之后返回false.,例15.1 例15.2,2、可滚动结果集,为了得到一个可滚动的结果集,必须使用下述方法先获得一个Statement对象:Statement stmt=con.createStatement(int type,in
9、t concurrency);然后,根据参数的type、concurrency的取值情况,stmt返回相应类型的结果集:ResultSet re=stmt.executeQuery(SQL语句);,type的取值决定滚动方式,取值情况如下:,ResultSet.TYPE_FORWORD_ONLY 结果集的游标只能向下滚动。ResultSet.TYPE_SCROLL_INSENSITIVE 结果集的游标可以上下移动,当数据库变化时,当前结果集不变。ResultSet.TYPE_SCROLL_SENSITIVE 返回可滚动的结果集,当数据库变化时,当前结果集同步改变。,Concurrency 取值
10、决定是否可以用结果集更新数据库,ResultSet.CONCUR_READ_ONLY 不能用结果集更新数据库中的表。ResultSet.CONCUR_UPDATETABLE 能用结果集更新数据库中的表。,在例12-2中,我们随机从结果集中取出3条记录,并计算3条记录的height(身高)的平均值,例15.3,3、排序查询,可以在SQL语句中使用ORDER BY子语句,对记录排序.,例15.4,4、模糊查询,可以用SQL语句操作符LIKE进行模式般配,使用“%”代替0个或多个字符,用一个下划线“_”代替1个字符。比如,下述语句查询姓氏是“王”的记录:rs=sql.executeQuery(SEL
11、ECT*FROM students WHERE 姓名 LIKE 王%);,例 15.5,5、随机查询,用Math类的静态方法random()可以产生一个大于0小于1的随机数,再用下述公式:int i=(int)(Math.random()*number);产生一个0到number之间的随机数,根据这个随机数将游标移动到相应的行,并输出该行记录.,例15.6,15.8 更新、添加、删除记录,Statement对象调用方法:public int executeUpdate(String sqlStatement);通过参数sqlStatement指定的方式实现对数据库表中记录的字段值的更新.更新记
12、录的SQL语法:UPDATE SET=新值 WHERE 插入记录的SQL语法:INSERT INTO 表(字段列表)VALUES(对应的具体的记录)或INSERT INTO 表(VALUES(对应的具体的记录)删除记录的SQL语法:DELETE FROM WHERE,例15.7,15.9 预处理语句,当向数据库发送一个SQL语句,比如“Select*From chengjibiao”,数据库库中的SQL解释器负责将把SQL语句生成地层的内部命令,然后执行该命令,完成有关的数据操作。如果不断地向数据库提交SQL语句势必增加数据库中SQL解释器的负担,影响执行的速度。如果应用程序能针对连接的数据库
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 数据库 操作

链接地址:https://www.31ppt.com/p-6509613.html