JDBC详解(连接操作数据库、处理大数据、批处理)

上传人:1818****572 文档编号:120880328 上传时间:2020-02-11 格式:DOCX 页数:62 大小:470.44KB
返回 下载 相关 举报
JDBC详解(连接操作数据库、处理大数据、批处理)_第1页
第1页 / 共62页
JDBC详解(连接操作数据库、处理大数据、批处理)_第2页
第2页 / 共62页
JDBC详解(连接操作数据库、处理大数据、批处理)_第3页
第3页 / 共62页
JDBC详解(连接操作数据库、处理大数据、批处理)_第4页
第4页 / 共62页
JDBC详解(连接操作数据库、处理大数据、批处理)_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《JDBC详解(连接操作数据库、处理大数据、批处理)》由会员分享,可在线阅读,更多相关《JDBC详解(连接操作数据库、处理大数据、批处理)(62页珍藏版)》请在金锄头文库上搜索。

1、一、JDBC简介JDBC全称为:Java DataBase Connectivity (Java数据库连接)SUN公司为了简化、统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBCSun公司为了简化数据库开发,定义了一套JDBC接口,这套接口由数据库厂商去实现,这样,开发人员只需要学习JDBC接口, 并通过JDBC加载具体的驱动,就可以操作数据库。1、组成JDBC的包(1)java.sql类:DriverManager接口:Connection Statement ResultSet PreparedStatement CallableStatement(它用于调用存储过程)

2、(2)javax.sql接口 DataSource开发JDBC应用需要以上2个包的支持外还需要导入相应JDBC的数据库驱动(即数据库驱动 mysql-connector-java-x.x.x-bin.jar)2、什么是驱动两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。3、第一个JDBC程序创建user表sqlview plaincopy1. createtableuser(2. idintprimarykeyauto_increment,3. usernamevarchar(20)uniquenotnull,4.

3、 passwordvarchar(20)notnull,5. emailvarchar(40)notnull6. );7. INSERTINTOUSERVALUES(NULL,tom,123,);8. INSERTINTOUSERVALUES(NULL,fox,123,);编程从user表中读取数据,并打印在命令行窗口中。(一)搭建实验环境 1、在MySQL中创建一个库,并创建user表和插入表的数据。 2、新建一个Java工程,并导入数据驱动(二)编写程序,在程序中加载数据库驱动(称为注册驱动) DriverManager.registerDriver(Driver driver);(三)建

4、立连接(Connection) Connection conn = DriverManager.getConnection(url, user, pass);(四)创建用于向数据库发送SQL的Statement对象,并发送SQL Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql);(五)从代表结果集的ResultSet中取出数据,打印到命令行窗口(六)断开与数据库的连接,并释放相关资源。新建项目工程,创建cn.itcast.jdbc包 创建JdbcDemo1.javajavaview plainc

5、opy1. packagecn.itcast.jdbc;2. 3. importjava.sql.Connection;4. importjava.sql.DriverManager;5. importjava.sql.ResultSet;6. importjava.sql.SQLException;7. importjava.sql.Statement;8. 9. importcom.mysql.jdbc.Driver;10. 11. publicclassJdbcDemo112. 13. publicstaticvoidmain(Stringargs)throwsSQLException1

6、4. 15. /1.注册驱动16. DriverManager.registerDriver(newDriver();17. 18. /2.获取连接对象19. Connectioncon=DriverManager.getConnection(20. jdbc:mysql:/localhost:3306/mydb1,root,root);21. 22. /3.通过连接对象获取操作sql语句Statement23. Statementst=con.createStatement();24. 25. /4.操作sql语句26. Stringsql=select*fromuser;27. 28. /

7、操作sql语句(select语句),会得到一个ResultSet结果集29. ResultSetrs=st.executeQuery(sql);30. 31. /5.遍历结果集32. while(rs.next()33. intid=rs.getInt(id);34. Stringusername=rs.getString(username);35. Stringpassword=rs.getString(password);36. Stringemail=rs.getString(email);37. 38. System.out.println(id+username+password+e

8、mail);39. 40. 41. /6.释放资源42. rs.close();43. st.close();44. con.close();45. 46. 二、JDBC 编程步骤以及JDBC访问数据库的流程1、JDBC编程步骤简单的说,JDBC的意义在于在Java程序中执行SQL语句。驱动程序的意义在于提供统一的接口并隐藏实现细节。驱动程序定义了数据库能做什么,比如上面所说的几个步骤,数据库的制造商(例如Oracle)提供符合这些接口的实现(怎么做),我们在编写Java程序中只需要调用驱动程序中的接口就可以操作数据库,完成这四个步骤。同计算机硬件的驱动程序类似,JDBC的驱动实现了 做什么和

9、怎么做的分离。与使用SQLPlus访问数据库类似,在操作数据库之前,需要先跟数据库建立连接。建立连接后,可以通过获得的连接对象来调用SQL语句。操作数据基本的含义是执行SQL语句,包括DML,DDL,DCL 均可,还可以调用数据库中已有的存储过程,释放资源。使用JDBC编程时,与数据库建立的连接以及通过这个连接创建的语句对象,都有可能需要调用响应的close方法来释放底层建立的网络连接,或者打开文件。2、JDBC访问数据库的流程 通过DriverManager加载驱动程序driver; 通过DriverManager类获得表示数据库连接的Connection类对象; 通过Connection对

10、象绑定要执行的语句,生成Statement类对象; 执行SQL语句,接收执行结果集ResultSet; 可选的对结果集ResultSet类对象的处理; 必要的关闭ResultSet、Statement和Connection三、程序详解DriverManagerJDBC程序中的DriverManager用于加载驱动,并创建与数据库的链接,这个API的常用方法: DriverManager.registerDriver(new Driver); DriverManager.getConnection(url, user, password);它是java.sql包下的一个驱动管理的工具类,可以理解

11、成是一个容器(Vector),可以装入很多数据库驱动它的registDriver方法分析public static synchronized void registerDriver(java.sql.Driver driver) 参数:java.sql.Driver 我们传递的是 com.mysql.jdbc.Driver; 在com.mysql.jdbc.Driver类中有一段静态代码块:static try java.sql.DriverManager.registerDriver(new Driver(); catch (SQLException E) throw new Runtime

12、Exception(Cant register driver!); 注意:在实际开发中并不推荐采用registerDriver方法注册驱动。原因有二: (一)有上述的的源代码可知,如果采用此种方式,会导致驱动程序注册两次,也就是说在内存中会有两个Driver对象 (二)程序依赖MySQL的API,脱离MySQL的jar包,程序将无法编译,将来程序切换底层数据库将会非常麻烦。 推荐方式:利用反射Class.forName(com.mysql.jdbc.Driver); 采用此种方式不会导致驱动对象在内存中重复出现,并且采用此种方式,程序仅仅需要一个字符串,不需要依赖具体的驱动,使程序的灵活性更高

13、。同样,在开发中也不建议采用具体的驱动类型指向getConnection方法返回connection对象。在cn.itcast.jdbc包下新建JdbcDemo2.java 如下:javaview plaincopy1. packagecn.itcast.jdbc;2. 3. importjava.sql.Connection;4. importjava.sql.DriverManager;5. importjava.sql.ResultSet;6. importjava.sql.SQLException;7. importjava.sql.Statement;8. 9. /解决关于加载驱动问题10. publicclassJdbcDemo211. 12. publicstaticvoid

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 计算机应用/办公自动化

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