JAVAWEB数据库访问

上传人:汽*** 文档编号:591370949 上传时间:2024-09-17 格式:PPT 页数:17 大小:204KB
返回 下载 相关 举报
JAVAWEB数据库访问_第1页
第1页 / 共17页
JAVAWEB数据库访问_第2页
第2页 / 共17页
JAVAWEB数据库访问_第3页
第3页 / 共17页
JAVAWEB数据库访问_第4页
第4页 / 共17页
JAVAWEB数据库访问_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《JAVAWEB数据库访问》由会员分享,可在线阅读,更多相关《JAVAWEB数据库访问(17页珍藏版)》请在金锄头文库上搜索。

1、 MLDN 软件教学研发部软件教学研发部数据库访问数据库访问夏汛夏汛泸职院信息工程系泸职院信息工程系学习目标能够使用JDBC访问数据库JDBC驱动程序的类型JDBC-ODBC桥(访问access,只能通过JDBC-ODBC桥)部分本地API,部分Java驱动程序JDBC网络纯Java驱动程序本地协议纯Java驱动程序下载安装Mysql下载mysql的社区版本MySQL Community Server下载和使用Mysql JDBC驱动Mysql的JDBC驱动没有包含在数据库的安装包中,需要单独下载进入网址后,点击“Connector/J”,下载Mysql的JDBC驱动在Eclipse项目文件夹

2、下,建立文件夹lib,将JDBC驱动拷贝进去,然后在Eclipse里该项目上右键点击“属性”“Java构建路径”“库”,添加JAR,将选中即可。JDBC API访问数据库的代码:Class.forName(com.mysql.jdbc.Driver);Connection conn=DriverManager.getConnection(“jdbc:mysql:/localhost:3306/DB,root,123);Statement stmt=conn.createStatment();ResultSet rs=stmt.executeQuery(select * from emp)JDB

3、C API-加载与注册JDBC驱动接口是所有JDBC驱动程序需要实现的接口,这个接口主要是提供给数据库厂商使用,不同厂商该接口的类名是不同的。com.microsoft.jdbc.sqlserver.SQLServerDriver sql2000的驱动类名com.microsoft.sqlserver.SQLServerDriver sql2005的驱动类名oracle.jdbc.driver.OracleDriver Oracle的JDBC驱动类名com.mysql.jdbc.Driver mysql的驱动类名Driver接口中提供了一个Connect()方法,用来建立到数据库的连接Conn

4、ection connect(String url,properties info) throws SQLExceptionJDBC API-加载与注册JDBC驱动2.加载与注册JDBC驱动加载JDBC驱动是调用Class类的静态方法forName(),向其传递要加载的JDBC驱动的类名。DriverManager类是驱动程序管理类,负责管理驱动程序,这个类中所有方法都是静态的,在DriverManager类中提供了registerDriver()方法来注册驱动程序类的实例。public static void registerDriver(Driver driver) throws SQLE

5、xception通常不需要亲自去调用registerDriver()方法来注册驱动程序类的实例,因为实现Driver接口的驱动程序类都包含了静态代码块,在这个静态代码块中,会调用DriverManager. registerDriver()方法来注册自身的一个实例。JDBC API-建立到数据库的连接3.建立到数据库的连接在DriverManger类中提供了3个重载的getConnection()方法Public static Connection getConnection(String url) throws SQLExceptionPublic static Connection get

6、Connection(String url,String user,String password) throws SQLException Public static Connection getConnection(String url,Properties info) throws SQLException Mysql的URL:jdbc:mysql:/localhost:3306/databasenameJDBC API-访问数据库Staement createStaement() throws SQLException该方法创建一个Staement对象,用于向数据库发送SQL语句,没有

7、参数的SQL语句通常用Statement对象来执行Staement中定义了下列方法用于执行SQL语句ResultSet exeCuteQuery(String sql) throws SQLException 该方法执行参数sql指定的sql语句,返回一个ResultSet对象, ResultSet用于查看执行结果。int executeUpdate(String sql) throws SQLException 该方法执行参数sql指定的INSERT、UPDATE或者DELETE语句,也可执行SQL DDL语句,如CREATE TABLEboolean execute(String sql)

8、 throws SQLException 该方法执行返回多个结果集的SQL语句int executeBatch() throws SQLException 该方法允许我们向数据库提交一批命令,然后一起执行。大量SQL语句的批量执行可以显著提高性能。如果所有命令都成功执行,返回值是一个更新行数的数组。数组中每一个int元素是按照加入命令的先后顺序来存储的,表示了相应命令的更新行数。可以使用addBatch()方法将SQL命令加入到命令列表中。JDBC API-访问数据库ResultSet接口由数据库厂商实现, ResultSet对象维护了一个指向当前数据行的游标,初始的时候,游标在第一行之前,可

9、以通过ResultSet对象的next()方法移动游标到下一行。boolean next() throws SQLExceptionResultSet接口中定义了很多方法来获取当前行中的数据,根据字段类型的不同用不同的方法来获取数据。方法略每种方法,又提供了两种形式的调用,一种是以列的索引作为参数(索引从1开始),一种是以列的名字作为参数。如果不知道要获取的列数据类型,可以一律采用getString()方法来得到String类型的数据JDBC API-访问数据库在程序中传递的SQL语句在执行前必须被预编译,包括语句分析、代码优化等,然后才能被数据库引擎执行。如果重复执行只有参数不同的SQL语句

10、,是比较低效的。如果要用不同的参数来多次执行同一个SQL语句,可以使用PreparedStatement的对象。PreparedStatement pstmt=conn. preparedStatement(“insert employee values(?,?,?)”);pstmt.setInt(1,1);pstmt.setString(2,”zhangsan”);pstmt.setDate(3,java.sql.Date.valueof(“2011-2-25”);pstmt.executeUpdate();可滚动结果集可滚动结果集之前通过Statement对象所创建的结果集只能向前滚动,即

11、只能调用next()方法向前得到数据行,无法向后滚动。如果要获得一个可滚动的结果集,需要在创建Statement或PreparedStatement对象时,调用Connection对象的另一个重载的createStatement()方法:Statement stmt=conn.createStatement(type, concurrency);PreparedStatement pstmt=conn.preparedStatement(type, concurrency);其中type可取:ResultSet.TYPE_FORWARD_ONLY :结果集不能滚动:结果集可以滚动,但是对数据库

12、变化不敏感,数据库查询生成结果集后发生了变化,结果集不发生变化。:结果集可以滚动,但是对数据库变化敏感。 例如通过查询返回了10行数据,如果另一个程序删除了其中的2行,那么这个结果集中就只有8行了Concurrency可取:ResultSet.CONCUR_READ_ONLY 结果集不能用于更新数据库ResultSet.CONCUR_UPDATABLE 结果集可以用于更新数据库ResultSet接口为可滚动结果集提供的方法boolean isBeforeFirst () throws SQLExceptionboolean isAfterLast () throws SQLExceptionb

13、oolean isFirst() throws SQLExceptionboolean isLast() throws SQLException以上4种方法分别用于判断游标是否位于第一行之前、最后一行之后、第一行和最后一行void beforeFirst() throws SQLException该方法移动游标到结果集第一行之前void afterLast() throws SQLException该方法移动游标到结果集最后一行之后boolean first() throws SQLException该方法移动游标到结果集的第一行boolean last() throws SQLException该方法移动游标到结果集的最后一行boolean absolute(int row) throws SQLException该方法移动游标到结果集中指定的行,row可以取正,也可以取负,1表示移动游标到第一行,2表示移动游标到第二行,-1表示移动游标到最后一行,-2表示移动游标到倒数第二行接下来数据库访问还需要知道的内容事务处理事务处理

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号