2019独角兽企业重金招聘Python工程师标准>>>

  1. JDBC连接数据库
  2. •创建一个以JDBC连接数据库的程序,包含7个步骤:
  3. 1、加载JDBC驱动程序:
  4. 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),
  5. 这通过java.lang.Class类的静态方法forName(String  className)实现。
  6. 例如:
  7. try{
  8. //加载MySql的驱动类
  9. Class.forName("com.mysql.jdbc.Driver") ;
  10. }catch(ClassNotFoundException e){
  11. System.out.println("找不到驱动程序类 ,加载驱动失败!");
  12. e.printStackTrace() ;
  13. }
  14. 成功加载后,会将Driver类的实例注册到DriverManager类中。
  15. 2、提供JDBC连接的URL
  16. •连接URL定义了连接数据库时的协议、子协议、数据源标识。
  17. •书写形式:协议:子协议:数据源标识
  18. 协议:在JDBC中总是以jdbc开始
  19. 子协议:是桥连接的驱动程序或是数据库管理系统名称。
  20. 数据源标识:标记找到数据库来源的地址与连接端口。
  21. 例如:(MySql的连接URL)
  22. jdbc:mysql:
  23. //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
  24. useUnicode=true:表示使用Unicode字符集。如果characterEncoding设置为
  25. gb2312或GBK,本参数必须设置为true 。characterEncoding=gbk:字符编码方式。
  26. 3、创建数据库的连接
  27. •要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,
  28. 该对象就代表一个数据库的连接。
  29. •使用DriverManager的getConnectin(String url , String username ,
  30. String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和
  31. 密码来获得。
  32. 例如:
  33. //连接MySql数据库,用户名和密码都是root
  34. String url = "jdbc:mysql://localhost:3306/test" ;
  35. String username = "root" ;
  36. String password = "root" ;
  37. try{
  38. Connection con =
  39. DriverManager.getConnection(url , username , password ) ;
  40. }catch(SQLException se){
  41. System.out.println("数据库连接失败!");
  42. se.printStackTrace() ;
  43. }
  44. 4、创建一个Statement
  45. •要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下3
  46. 种类型:
  47. 1、执行静态SQL语句。通常通过Statement实例实现。
  48. 2、执行动态SQL语句。通常通过PreparedStatement实例实现。
  49. 3、执行数据库存储过程。通常通过CallableStatement实例实现。
  50. 具体的实现方式:
  51. Statement stmt = con.createStatement() ;
  52. PreparedStatement pstmt = con.prepareStatement(sql) ;
  53. CallableStatement cstmt =
  54. con.prepareCall("{CALL demoSp(? , ?)}") ;
  55. 5、执行SQL语句
  56. Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate
  57. 和execute
  58. 1、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句
  59. ,返回一个结果集(ResultSet)对象。
  60. 2、int executeUpdate(String sqlString):用于执行INSERT、UPDATE或
  61. DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等
  62. 3、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的
  63. 语句。
  64. 具体实现的代码:
  65. ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
  66. int rows = stmt.executeUpdate("INSERT INTO ...") ;
  67. boolean flag = stmt.execute(String sql) ;
  68. 6、处理结果
  69. 两种情况:
  70. 1、执行更新返回的是本次操作影响到的记录数。
  71. 2、执行查询返回的结果是一个ResultSet对象。
  72. • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
  73. 行中数据的访问。
  74. • 使用结果集(ResultSet)对象的访问方法获取数据:
  75. while(rs.next()){
  76. String name = rs.getString("name") ;
  77. String pass = rs.getString(1) ; // 此方法比较高效
  78. }
  79. (列是从左到右编号的,并且从列1开始)
  80. 7、关闭JDBC对象
  81. 操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声
  82. 明顺序相反:
  83. 1、关闭记录集
  84. 2、关闭声明
  85. 3、关闭连接对象
  86. if(rs != null){   // 关闭记录集
  87. try{
  88. rs.close() ;
  89. }catch(SQLException e){
  90. e.printStackTrace() ;
  91. }
  92. }
  93. if(stmt != null){   // 关闭声明
  94. try{
  95. stmt.close() ;
  96. }catch(SQLException e){
  97. e.printStackTrace() ;
  98. }
  99. }
  100. if(conn != null){  // 关闭连接对象
  101. try{
  102. conn.close() ;
  103. }catch(SQLException e){
  104. e.printStackTrace() ;
  105. }
  106. }

转载于:https://my.oschina.net/yanjianhai/blog/217795

java开发中jdbc连接数据 库的操作代码相关推荐

  1. java开发中JDBC连接MySQL

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  2. 完整java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  3. Java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库:创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lan ...

  4. 【转】完整java开发中JDBC连接数据库代码和步骤

    2019独角兽企业重金招聘Python工程师标准>>> 1 .加载JDBC驱动程序:        在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   ...

  5. Java开发中文件读取方式总结

    JAVA开发中,免不了要读文件操作,读取文件,首先就需要获取文件的路径.路径分为绝对路径和相对路径. 在文件系统中,绝对路径都是以盘符开始的,例如C:abc1.txt. 什么是相对路径呢?相对路径就是 ...

  6. angular开发中对请求数据层的封装

    代码地址如下: http://www.demodashi.com/demo/11481.html 一.本章节仅仅是对angular4项目开发中数据请求封装到model中 仅仅是在项目angular4项 ...

  7. Java开发中的23种设计模式详解(转)

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  8. Java开发中Websocket的技术选型参考

    1. 前言 Websocket是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议.WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据 ...

  9. 【java】java开发中的23种设计模式详解

    设计模式(Design Patterns) --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

最新文章

  1. 新手应该如何有效地学习.net
  2. 讨论下直博和读完硕士再读博,在能力上的差距
  3. map操作;时间排序;repository.existsById(pid);
  4. bootstrap-datepicker 日期格式设置
  5. 【转载】C/C++语言分析 每年学一种编程语言 git历史
  6. JSP引入CSS文件无法生效的问题
  7. 第五十六期:百度CTO王海峰CNCC2019演讲:深度学习平台支撑产业智能化
  8. 多个vue项目之间跳转_Vue六,路由,ElementUI
  9. 使用traceview进行Android性能测试(转)
  10. php+mysql实例注入,PHP+MYSQL注入实例与防范措施总结
  11. 【C# RDLC】 RDLC报表的部署问题
  12. paip.提升用户体验---网站导航栏的设计
  13. Optional容器类
  14. java程序员简历项目经验_程序员简历中的项目经验怎么写
  15. 烽火狼烟丨Microsoft多个安全漏洞风险提示
  16. 很全的HTML5功能概述,温故而知新,可以为师矣!
  17. learning and evaluating representations for deep one-class classification
  18. mysql 多主多从
  19. 上班族保护颈椎有诀窍
  20. Zigbee 设置信道,PANID,发射功率现对z-stack里几个网络参数的设置以及如何获取总结一下。

热门文章

  1. C/C++面试题—实现MyString类
  2. 【压力测试】Jmeter基础3
  3. 《C程序设计语言》笔记 (五) 指针与数组
  4. 28 数组中出现次数超过一半的数字
  5. 支付宝支付系统繁忙,请稍后再试(ALI64)错误解决
  6. 结对编程项目---四则运算
  7. 【编程范式】连续数据的前面部分后移的实现
  8. Xdebug 使用说明
  9. 中国搜 为人民服务 整合本地搜索引擎 出差旅游搜索国外国内当地服务网站 快速进行本地资源查找利用...
  10. JavaEE实战班第19天