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

1 、加载JDBC驱动程序:   
    在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机),   
    这通过java.lang.Class类的静态方法forName(String  className)实现。   
    例如:

try{   //加载MySql的驱动类   Class.forName("com.mysql.jdbc.Driver") ;
}catch(ClassNotFoundException e){   System.out.println("找不到驱动程序类 ,加载驱动失败!");   e.printStackTrace() ;
}

成功加载后,会将Driver类的实例注册到DriverManager类中。   
2 、提供JDBC连接的URL   
   •连接URL定义了连接数据库时的协议、子协议、数据源标识。   
   •书写形式:协议:子协议:数据源标识   
   协议:在JDBC中总是以jdbc开始   
   子协议:是桥连接的驱动程序或是数据库管理系统名称。   
   数据源标识:标记找到数据库来源的地址与连接端口。   
   例如:(MySql的连接URL)

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=gbk ;

useUnicode= true :表示使用Unicode字符集。如果characterEncoding设置为   
   gb2312或GBK,本参数必须设置为 true  。characterEncoding=gbk:字符编码方式。   
3 、创建数据库的连接   
   •要连接数据库,需要向java.sql.DriverManager请求并获得Connection对象,    该对象就代表一个数据库的连接。   
   •使用DriverManager的getConnectin(String url , String username, String password )方法传入指定的欲连接的数据库的路径、数据库的用户名和 密码来获得。

例如:

//连接MySql数据库,用户名和密码都是root   String url = "jdbc:mysql://localhost:3306/test" ;    String username = "root" ;   String password = "root" ;   try{   Connection con = DriverManager.getConnection(url , username , password ) ; }catch(SQLException se){   System.out.println("数据库连接失败!");   se.printStackTrace() ;   }   

4 、创建一个Statement   
   •要执行SQL语句,必须获得java.sql.Statement实例,Statement实例分为以下 3 种类型:   
       1 、执行静态SQL语句。通常通过Statement实例实现。   
       2 、执行动态SQL语句。通常通过PreparedStatement实例实现。   
       3 、执行数据库存储过程。通常通过CallableStatement实例实现。   
    具体的实现方式:

Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =  con.prepareCall("{CALL demoSp(? , ?)}") ;

5 、执行SQL语句   
    Statement接口提供了三种执行SQL语句的方法:executeQuery 、executeUpdate 和execute   
     1 、ResultSet executeQuery(String sqlString):执行查询数据库的SQL语句 ,返回一个结果集(ResultSet)对象。   
      2 、 int  executeUpdate(String sqlString):用于执行INSERT、UPDATE或 DELETE语句以及SQL DDL语句,如:CREATE TABLE和DROP TABLE等   
      3 、execute(sqlString):用于执行返回多个结果集、多个更新计数或二者组合的 语句。   
    具体实现的代码:

ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;
int rows = stmt.executeUpdate("INSERT INTO ...") ;
boolean flag = stmt.execute(String sql) ;

6 、处理结果   
    两种情况:   
      1 、执行更新返回的是本次操作影响到的记录数。   
      2 、执行查询返回的结果是一个ResultSet对象。   
    • ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些   
      行中数据的访问。   
    • 使用结果集(ResultSet)对象的访问方法获取数据:

while(rs.next()){   String name = rs.getString("name") ;   String pass = rs.getString(1) ; // 此方法比较高效
}

(列是从左到右编号的,并且从列 1 开始)   
7 、关闭JDBC对象    
     操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:   
      1 、关闭记录集   
      2 、关闭声明   
      3 、关闭连接对象

if(rs != null){   // 关闭记录集   try{   rs.close() ;   }catch(SQLException e){   e.printStackTrace() ;   }
}
if(stmt != null){   // 关闭声明   try{   stmt.close() ;   }catch(SQLException e){   e.printStackTrace() ;   }
}
if(conn != null){  // 关闭连接对象   try{   conn.close() ;   }catch(SQLException e){   e.printStackTrace() ;   }
}

转载于:https://my.oschina.net/sherwayne/blog/99132

【转】完整java开发中JDBC连接数据库代码和步骤相关推荐

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

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

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

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

  3. java jdbc连接 代码块_java 中JDBC连接数据库代码和步骤详解及实例代码

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

  4. java开发中jdbc连接数据 库的操作代码

    2019独角兽企业重金招聘Python工程师标准>>> JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要 ...

  5. 【代码调优】Java开发中总结的代码质量优化技巧,springboot企业级开发教程

    SELECT * FROM db_user WHERE username='validuser' OR '1'='1' AND password='' 同样,攻击者可以为password提供如下字符串 ...

  6. java开发中JDBC连接MySQL

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

  7. Java中JDBC连接数据库详解

    今天动力节点java学院小编分享的是JDBC连接数据库的相关知识,希望通过看过此文,各位小伙伴对DBC连接数据库有所了解,下面就跟随小编一起来看看JDBC连接数据库的知识吧. 一.JDBC连接数据库概 ...

  8. 编写高质量代码:改善Java程序的151个建议 (第1章 Java开发中通用的方法和准则)

    第1章 Java开发中通用的方法和准则 The reasonable man adapts himself to the world;the unreasonable one persists in ...

  9. 时间转换竟多出1年!Java开发中的20个坑你遇到过几个?

    前言 最近看了极客时间的<Java业务开发常见错误100例>,再结合平时踩的一些代码坑,写写总结,希望对大家有帮助,感谢阅读~ 1. 六类典型空指针问题 包装类型的空指针问题 级联调用的空 ...

最新文章

  1. 运用xlib进行事件响应(X11 API)的小例子
  2. java旋转图片后边上变黑_Java旋转图像将背景的一部分变成黑色
  3. redis队列(list)
  4. PHP实时生成并下载超大数据量的EXCEL文件 1
  5. c语言case标号是连续的吗,在switch语句中,case后的标号只能是什么?_后端开发...
  6. jsp 中select 下拉选择框 el 三元运算符 如何选中与不选中
  7. 特殊人物请遵循公司工作的基本准则
  8. 用低代码+BPM赋能知识文档管理系统
  9. 2019年12月份统考计算机应用基础题库,2019年12月网络教育统考《计算机应用基础》模拟题...
  10. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(10月17日~10月23日)...
  11. 深入JavaWeb技术世界15:通过项目逐步深入了解Mybatis(二)
  12. outlook 网页版使用公共邮箱发送邮件
  13. 【Visual C++】游戏开发笔记之六——游戏画面绘图(三)透明特效的制作方法
  14. 人工智能和AI到底是什么??浅谈人工智能和AI
  15. 【FI】SAP 付款及清账
  16. 电子词典的实现(一)
  17. 如何构建无服务器 WebSockets 平台
  18. Lind.DDD.Paging分页模块介绍
  19. python remi库官网_python库介绍-PySimpleGUI-简单的GUI开发工具
  20. OMI/Aura臭氧数据下载及绘图

热门文章

  1. mysql排序显示行数的语句_MySQL中sql语句count(*),orderby,随机数据展示。
  2. Spring Cloud Eureka 配置原理详解
  3. Linux性能优化方向及相关工具
  4. Java 常用负载均衡算法解析
  5. [HDFS Manual] CH4 HDFS High Availability Using the Quorum Journal Manager
  6. CArray动态数组
  7. oracle 11g(四)给oracle添加为系统服务(脚本)
  8. Office Web Apps所需证书的申请分配部署详解
  9. 字符串在编号查询中的应用示例及常见问题.sql
  10. SkyDrive Explorer 把微软25GB网络硬盘搬进“我的电脑”