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

  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. }
时间: 2024-08-02 18:11:00

完整java开发中JDBC连接数据库代码和步骤的相关文章

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

JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的静态方法forName(String className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ Sys

Java开发中程序和代码性能优化

现在计算机的处理性能越来越好,加上JDK升级对一些代码的优化,在代码层针对一些细节进行调整可能看不到性能的明显提升,在开发中注意这些,更多的是可以保持一种性能优先的意识. 一 条件控制语句中的优化 1.在循环中应该避免使用复杂的表达式. 在循环中,循环条件会被反复计算,应该避免把一些计算放在循环进行的部分中,程序将会运行的更快.比如: for(int i=0;i<list.size();i++) 可以改为 //我的电脑上,测试数量级在10^7,速度提升一倍. for(int i=0,len=li

java开发中基于JDBC连接数据库实例总结_java

本文实例讲述了java开发中基于JDBC连接数据库的方法.分享给大家供大家参考,具体如下: 创建一个以JDBC连接数据库的程序,包含7个步骤:   1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),这通过java.lang.Class类的静态方法forName(String  className)实现. 例如: try{ //加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ;

java开发中通用分页类代码

java开发中通用分页类代码 在java中要分页我们必须要有数据库教程,所以我们先准备下数据库,其数据库脚步如下: --以下是创建数据库和数据库表以及向数据库插入数据   use master  Go  if exists(select * from sysdatabases where name='pagination')  drop database pagination  Go  create database pagination  Go  use pagination  Go  cre

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

Java开发中的23种设计模式详解(转) 设计模式(Design Patterns)                                   --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合

Java开发中异常处理的最佳实践

异常处理是Java 开发中的一个重要部分.它是关乎每个应用的一个非功能性需求,是为了处理任何错误状况,比如资源不可访问,非法输入,空输入等等.Java提供了几个异常处理特性,以try,catch 和 finally 关键字的形式内建于语言自身之中.Java 编程语言也允许你创建新的异常,并通过使用 throw 和 throws关键字抛出它们.事实上,在Java编程中,Java的异常处理不单单是知道语法这么简单,它必须遵循标准的JDK库,和几个处理错误和异常的开源代码.这里我们将讨论一些关于异常处

java-jsp中jdbc连接数据库出错

问题描述 jsp中jdbc连接数据库出错 代码如下,错误我不知道如何解决: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.sql.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitiona

Java开发中使用JVMTI循环类实例教程

今天我想探讨Java的另一面,我们平时不会注意到或者不会使用到的一面.更准确的说是关于底层绑定.本地代码(native code)以及如何实现一些小魔法.虽然我们不会在JVM层面上探究这是怎么实现的,但我们会通过这篇文章展示一些奇迹. 我在ZeroTurnaround的RebelLabs团队中主要工作是做研究.撰文.编程.这个公司主要开发面向Java开发者的工具,大部分以Java插件(javaagent)的方式运行.经常会遇到这种情况,如果你想在不重写JVM的前提下增强JVM或者提高它的性能,你

mongodb的java开发中使用两个字段相等查询条件应该怎么写?

问题描述 mongodb的java开发中使用两个字段相等查询条件应该怎么写? 也就是类似sql中的where 字段A=字段B这样的条件,我查了下网上有些帖子中写的用$where的方式我查询的时候会出错,类似于:new Document("$where",new Document("字段A", "字段B")),驱动版本是3.0 在网上查到一个帖子:http://cache.baiducontent.com/c?m=9d78d513d99c1cf30