JDBC学习笔记.doc_第1页
JDBC学习笔记.doc_第2页
JDBC学习笔记.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JDBC基础1. JDBC类结构DriverManager:它是一个工厂类,用来生产Driver对象的这个类的结构设计模式为工厂方法。Driver:这是驱动程序对象的接口,它指向一个实实在在的数据库驱动程序对象。Connection:这个接口可以制向一个数据库连接对象。Statement:用于执行静态的SQL语句的接口,通过Connection中的createStatement方法得到的。PreparedStatement:表示预编译的 SQL 语句的对象。Resultset:用于指向结果集对象的接口,结果集对象是通过Statement中的execute等方法得到的。2. 使用JDBC访问数据库的步骤(1) 得到数据库驱动程序通常使用Class类的forName()静态方法来加载驱动。例如:Class.forName(org.gjt.mm.mysql.Driver);/加载MySQL的JDBC驱动程序(2) 创建数据库连接使用:DriverManager.getConnection(String url, String user, String password)创建数据库连接对象,例如:String DBURL=jdbc:mysql:/:3306/java;/数据库连接地址Connection con = DriverManager.getConnection(DBURL,root,lizhiwei);/得到连接(3) 执行SQL语句通过Connection对象创建Statement对象。Connection创建Statement的方法有如下3个:createSatement():创建基本的Statement对象。prepareStatement(String sql):根据传入的sql语句创建预编译的Statement对象。prepareCall(String sql):根据传入的sql语句创建CallableStatement对象。createSatement()的使用:Statement st = con.createStatement();/ 得到用于执行静态SQL语句的对象ResultSet rs = st.executeQuery(select * from Person);/ 执行查询,得到结果集对象while (rs.next()System.out.print(rs.getInt(pid)+t);System.out.print(rs.getInt(id)+t);System.out.println(rs.getString(name);prepareStatement(String sql)的使用:PreparedStatement ps=con.prepareStatement(select * from Person where pid?);ps.setInt(1, 3);/向第一个“?”设置值ResultSet rs=ps.executeQuery();/执行查询,得到结果集对象while (rs.next()System.out.print(rs.getInt(pid)+t);System.out.print(rs.getInt(id)+t);System.out.println(rs.getString(name);(4) 得到结果集使用Statement执行Sql语句。所有的Statement都有如下3个方法来执行sql语句:execute():可以执行任何sql语句,但比较麻烦。executeUpdate():主要用于执行DML和DDL语句。执行DML语句返回受sql语句影响的行数。executeQuery():只能执行查询语句,执行后返回代表查询结果的ResultSet对象(5) 对结果集做相应的处理(增,删,改,查)操作结果集。如果执行的sql语句是查询语句,则执行结果将返回一个ResultSet对象,该对象里保存了sql语句查询的结果。程序可以通过操作该ResultSet对象来取出查询结果。ResultSet对象主要提供了如下两类方法:next()、previous()、first()、last()、beforeFirst()、afterLast()、absolute()等移动记录指针的方法。getXxx()方法获取记录指针指向行、特定列的值。该方法既可以使用列索引作为参数,也可以使用列名作为参数。(6) 关闭资源释放资源的顺序是ResultSet, Statement,Connection;Connection在使用完成后,必须关闭,ResultSet, Statement无所谓,只要Connection关闭了,它们也会被自动关闭(但资源不是立即被释放)。Connection的使用原则是尽量晚创建,尽量早的释放。在关闭资源异常的情况下,应该将资源赋null值,以确保资源最大可能的被释放掉。(7) 事务JDBC的事务处理重要的方法:con.setAutoCommit(false);/为 true表示自动提交;为 false表示禁用自动提交mit();/提交事务con.rollback();/回滚事务事务的保存点处理Savepoint sp = null;sp = con.setSavepoint();/事务保存点if (con != null & sp != null) con.rollback(sp);/事务回滚到特定的保存点 mit();(8) 存储过程String sql = call addUser(?,?,?,?);/创建一个 CallableStatement 对象来调用数据库存储过程CallableStatement cs = con.prepareCall(sql);cs.registerOutParameter(4, java.sql.Types.INTEGER,INTEGER);cs.setString(1, ps name);cs.setDate(2, new java.sql.Date(System.currentTimeMillis();cs.setFloat(3, 100f);(9) 批处理ps.addBatch();/将一组参数添加到此 PreparedStatement 对象的批处理命令中。ps.executeBatch();/将一批命令提交给数据库来执行,如果执行成功,则返回更新计数组成的数组(10) 可滚动结果集与分页技术,可更新和对更新敏感的结果集有很多定位方法可以使用。可以实现效率很低的分页。支持分页技术的mySQL:“limit 150 10”,从150条开始取10条。 Statement st = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); rs.absolute(5);/绝对定位使用JDBC连接各种数据库1. Microsoft SQL ServerMicrosoft SQL Server JDBC Driver (一般用来连接 SQLServer 2000)驱动程序包名:msbase.jar mssqlserver.jar msutil.jar驱动程序类名: com.microsoft.jdbc.sqlserver.SQLServerDriverJDBC URL: jdbc:microsoft:sqlserver:/:默认端口1433,如果服务器使用默认端口则port可以省略Microsoft SQL Server 2005 JDBC Driver驱动程序包名:sqljdbc.jar驱动程序类名: com.microsoft.sqlserver.jdbc.SQLServerDriverJDBC URL: jdbc:sqlserver:/:默认端口1433,如果服务器使用默认端口则port可以省略2. OracleOracle Thin JDBC Driver驱动程序包名:ojdbc14.jar驱动程序类名: oracle.jdbc.driver.OracleDriverJDBC URL: jdbc:oracle:thin:/:/ServiceName 或 jdbc:oracle:thin:默认端口15213. IBM DB2IBM DB2 Universal Driver Type 4驱动程序包名:db2jcc.jar db2jcc_license_cu.jar驱动程序类名: com.ibm.db2.jcc.DB2DriverJDBC URL: jdbc:db2:/:/IBM DB2 Universal Driver Type 2驱动程序包名:db2jcc.jar db2jcc_license_cu.jar驱动程序类名: com.ibm.db2.jcc.DB2DriverJDBC URL: jdbc:db2:4. MySQLMySQL Connector/J Driver驱动程序包名:mysql-connector-java-x.x.xx-bin.jar驱动程序类名: com.mysql.jdbc.DriverJDBC URL: jdbc:mysql:/:/默认端口3306,如果服务器使用默认端口则port可以省略MySQL Connector/J Driver 允许在URL中添加额外的连接属性,例如:jdbc:mysql:/:/?property1=value1&property2=value25. InformixInformix JDBC Driver驱动程序包名:ifxjdbc.jar驱动程序类名: rmix.jdbc.IfxDriverJDBC URL: jdbc:informix-sqli:/|:/: INFORMIXSERVER=6. SybaseSybase Adaptive Server Enterprise JDBC Driver驱动程序包名:jconn2.jar 或jconn3.jar驱动程序类名: com.sybase.jdbc2.jdbc.SybDriver (com.sybase.jdbc3.jdbc.SybDriver)JDBC URL: jdbc:sybase:Tds:默认端口5000Sybase Adaptive Server Anywhere or Sybase IQ JDBC Driver驱动程序包名:jconn2.jar 或jconn3.jar驱动程序类名: com.sybase.jdbc2.jdbc.SybDriver (com.sybase.jdbc3.jdbc.SybDriver)JDBC URL: jdbc:sybase:Tds:?ServiceName=默认端口26387. PostgreSQLPostgreSQL Native JDBC Driver驱动程序包名:驱动程序类名: org.postgresql.DriverJDBC URL: jdbc:postgresql:/:/默认端口54328. TeradataTeradata Driver for the JDBC Interface驱动程序包名:terajdbc4.jar tdgssjava.jar gui.jar 驱动程序类名: com.ncr.teradata.TeraDriverJDBC URL: Type 4: jdbc:teradata:/DatabaseServerName/Param1,Param2,.Type 3: jdbc:teradata:/GatewayServerName:PortNumber/DatabaseServerName/Param1,Param2,.9. NetezzaNetezza JDBC Driver驱动程序包名:terajdbc4.jar tdgssjava.jar gui.jar 驱动程序类名: ezza.DriverJDBC URL: jdbc:netezza:/:/10. Access数据库Class.forName(com.hxtt.sql.access.AccessDriver).newInstance();String url1 = jdbc:Access:/C:/Users/程序人生/Desktop/database.accdb;String url2 = jdbc:odbc:Driver=MicroSoft Access Driver (*.mdb, *.accdb);DBQ=D:DBdatabase.accdb;String url3 = jdbc:odbc:D

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论