电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

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

63页
  • 卖家[上传人]:1818****572
  • 文档编号:120880328
  • 上传时间:2020-02-11
  • 文档格式:DOCX
  • 文档大小:470.44KB
  • / 63 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 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)javax.sql接口 DataSource开发JDBC应用需要以上2个包的支持外还需要导入相应JDBC的数据库驱动(即数据库驱动 mysql-connector-java-x.x.x-bin.jar)2、什么是驱动两个设备要进行通信,满足一定通信数据格式,数据格式由设备提供商规定,设备提供商为设备提供驱动软件,通过软件可以与该设备进行通信。3、第一个JDBC程序创建user表sqlview

      2、 plaincopy1. createtableuser(2. idintprimarykeyauto_increment,3. usernamevarchar(20)uniquenotnull,4. 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);(三)建立连接(Connection) Connection conn = DriverManager.getConnection(url, user, pass);(四)创建用于向数据库发送SQL的Stat

      3、ement对象,并发送SQL Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(sql);(五)从代表结果集的ResultSet中取出数据,打印到命令行窗口(六)断开与数据库的连接,并释放相关资源。新建项目工程,创建cn.itcast.jdbc包 创建JdbcDemo1.javajavaview 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. importcom.mysql.jdbc.Driver;10. 11. publicclassJdbcDemo112. 13. publicstaticvoidmain(Stringargs)throwsSQLException1

      4、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. /操作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.getSt

      5、ring(password);36. Stringemail=rs.getString(email);37. 38. System.out.println(id+username+password+email);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的驱动实现了 做什么和怎么做的分离。与使用SQLPlus访问数据库类似,在操作数据库之前,需要先跟数据库建立连接。建立连接后,可以通过获得的连接对象来调用SQL语句。操作数据基本的含义是执行SQL语句,包括DML,DDL,

      6、DCL 均可,还可以调用数据库中已有的存储过程,释放资源。使用JDBC编程时,与数据库建立的连接以及通过这个连接创建的语句对象,都有可能需要调用响应的close方法来释放底层建立的网络连接,或者打开文件。2、JDBC访问数据库的流程 通过DriverManager加载驱动程序driver; 通过DriverManager类获得表示数据库连接的Connection类对象; 通过Connection对象绑定要执行的语句,生成Statement类对象; 执行SQL语句,接收执行结果集ResultSet; 可选的对结果集ResultSet类对象的处理; 必要的关闭ResultSet、Statement和Connection三、程序详解DriverManagerJDBC程序中的DriverManager用于加载驱动,并创建与数据库的链接,这个API的常用方法: DriverManager.registerDriver(new Driver); DriverManager.getConnection(url, user, password);它是java.sql包下的一个驱动管理的工具类,可以理解

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

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

      点击阅读更多内容
    TA的资源
  • 武汉专版七年级英语下册Unit1Canyouplaytheguitar第四课时作业课件新版人教新目标

    武汉专版七年级英语下册Unit1Canyouplaytheguitar第四课时作业课件新版人教新目标

  • 山西专版七年级英语下册Unit5Whydoyoulikepandas第三课时作业课件新版人教新目标

    山西专版七年级英语下册Unit5Whydoyoulikepandas第三课时作业课件新版人教新目标

  • 武汉专版七年级英语下册Unit1Canyouplaytheguitar第二课时作业课件新版人教新目标

    武汉专版七年级英语下册Unit1Canyouplaytheguitar第二课时作业课件新版人教新目标

  • 武汉专版七年级英语下册Unit5Whydoyoulikepandas第四课时作业课件新版人教新目标

    武汉专版七年级英语下册Unit5Whydoyoulikepandas第四课时作业课件新版人教新目标

  • 武汉专版七年级英语下册Unit5Whydoyoulikepandas第一课时作业课件新版人教新目标

    武汉专版七年级英语下册Unit5Whydoyoulikepandas第一课时作业课件新版人教新目标

  • 山西专版七年级英语下册Unit5Whydoyoulikepandas单元写作专项作业课件新版人教新目标

    山西专版七年级英语下册Unit5Whydoyoulikepandas单元写作专项作业课件新版人教新目标

  • 山西专版七年级英语下册Unit1Canyouplaytheguitar特色题型组合练作业课件新版人教新目标

    山西专版七年级英语下册Unit1Canyouplaytheguitar特色题型组合练作业课件新版人教新目标

  • 九年级历史上册第一单元古代亚非文明第3课古代尤作业课件新人教

    九年级历史上册第一单元古代亚非文明第3课古代尤作业课件新人教

  • 九年级历史上册第五单元走向近代第13课西欧经济和社会的发展作业课件新人教

    九年级历史上册第五单元走向近代第13课西欧经济和社会的发展作业课件新人教

  • 山西专版七年级英语下册Unit12Whatdidyoudolastweekend单元语法专项作业课件新版人教新目标

    山西专版七年级英语下册Unit12Whatdidyoudolastweekend单元语法专项作业课件新版人教新目标

  • 山西专版七年级英语下册Unit1Canyouplaytheguitar单元写作专项作业课件新版人教新目标

    山西专版七年级英语下册Unit1Canyouplaytheguitar单元写作专项作业课件新版人教新目标

  • 九年级历史下册第四单元经济大危机和第二次世界大战第14课法西斯国家的侵略扩张作业课件新人教版202105181

    九年级历史下册第四单元经济大危机和第二次世界大战第14课法西斯国家的侵略扩张作业课件新人教版202105181

  • 九年级历史上册第四单元封建时代的亚洲国家第11课古代日本作业课件新人教

    九年级历史上册第四单元封建时代的亚洲国家第11课古代日本作业课件新人教

  • 八年级英语下册Module1FeelingsandimpressionsUnit2IfeelnervouswhenIspeakChinese小册子作业课件新版外研版

    八年级英语下册Module1FeelingsandimpressionsUnit2IfeelnervouswhenIspeakChinese小册子作业课件新版外研版

  • 八年级英语下册Module9FriendshipUnit1CouldIaskifyou'vementionedthistoher小册子作业课件新版外研

    八年级英语下册Module9FriendshipUnit1CouldIaskifyou'vementionedthistoher小册子作业课件新版外研

  • 九年级化学上册第1章开启化学之门第3节怎样学习和研究化学第1课时课件沪

    九年级化学上册第1章开启化学之门第3节怎样学习和研究化学第1课时课件沪

  • 山西专版七年级英语下册Unit1Canyouplaytheguitar第二课时作业课件新版人教新目标

    山西专版七年级英语下册Unit1Canyouplaytheguitar第二课时作业课件新版人教新目标

  • 九年级历史下册第三单元第一次世界大战和战后初期的世界第11课苏联的社会主义建设教学课件新人教

    九年级历史下册第三单元第一次世界大战和战后初期的世界第11课苏联的社会主义建设教学课件新人教

  • 九年级历史上册第五单元走向近代第16课早期殖民掠夺作业课件新人教

    九年级历史上册第五单元走向近代第16课早期殖民掠夺作业课件新人教

  • 2021春七年级历史下册第二单元辽宋夏金元时期民族关系发展和社会变化第12课宋元时期的都市和文化习题课件新人教版

    2021春七年级历史下册第二单元辽宋夏金元时期民族关系发展和社会变化第12课宋元时期的都市和文化习题课件新人教版

  • 点击查看更多
    最新标签
    发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结 2022年家长会心得体会集合15篇
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.