• JDBC连接数据库 好文一定要让大家看见
  • •创建一个以JDBC连接数据库的程序,包含7个步骤:
  • 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() ;
  • }
  • }

java开发JDBC连接数据库详解的更多相关文章

  1. Java的JDBC事务详解

    Java的JDBC事务详解         分类:             Hibernate              2010-06-02 10:04     12298人阅读     评论(9) ...

  2. Java开发JDBC连接数据库

    Java开发JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含6个步骤: JDBC五部曲1.加载驱动2.获得链接3.获取statement对象 4.执行SQL语句5.产生resultset对 ...

  3. java开发JDBC连接数据库代码

    JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 这通过java.lang.Class类的静态方法forName(String className)实 ...

  4. JDBC连接数据库详解

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

  5. Java的JDBC事务详解(转)

    事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单位,对于其数据修改,要么全部执行,要么全部不执行. 2) 一致性(consistency):事务在完 ...

  6. Java开发环境搭建详解

    一.jdk安装与配置 jdk7于3月份刚刚发布,目前eclipse的最新版本中还没有提供对jdk7的编译支持,所以我们只下载jdk6. 下载地址:http://download.java.net/jd ...

  7. 【转载】Java的JDBC事务详解

    转自:http://www.cnblogs.com/azhqiang/p/4044127.html 事务的特性: 1) 原子性(atomicity):事务是数据库的逻辑工作单位,而且是必须是原子工作单 ...

  8. java web.xml配置详解(转)

    源出处:java web.xml配置详解 1.常规配置:每一个站的WEB-INF下都有一个web.xml的设定文件,它提供了我们站台的配置设定. web.xml定义: .站台的名称和说明 .针对环境参 ...

  9. Java编程配置思路详解

    Java编程配置思路详解 SpringBoot虽然提供了很多优秀的starter帮助我们快速开发,可实际生产环境的特殊性,我们依然需要对默认整合配置做自定义操作,提高程序的可控性,虽然你配的不一定比官 ...

随机推荐

  1. HTML编写需要注意的事项

    HTML在编写过程中需要注意许多关键的事项,就如最近我在学习中遇到的问题如下: 代码规范问题: 在代码视图中编写代码,一定要规范的格式,不要把代码全部都写到一块,这样不仅影响效率,更加影响视觉,当出现 ...

  2. knockoutJS学习笔记06:ko数组与模板绑定

    前面已经介绍了基本的绑定和模板相关知识,接下来就看ko里的数组和模板绑定,数组和模板绑定应该是实际项目中用得比较多的,ko提供了很好的支持. 一.observaleArray 前面的监控属性都是单个对 ...

  3. 【跟着子迟品 underscore】for ... in 存在的浏览器兼容问题你造吗

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  4. JS组件系列——Bootstrap寒冬暖身篇:弹出框和提示框效果以及代码展示

    前言:对于Web开发人员,弹出框和提示框的使用肯定不会陌生,比如常见的表格新增和编辑功能,一般常见的主要有两种处理方式:行内编辑和弹出框编辑.在增加用户体验方面,弹出框和提示框起着重要的作用,如果你的 ...

  5. Android开发自学笔记(Android Studio)—4.2TextView及其子类

    一.引言 TextView是我们最常用的一个控件了,它类似于C# Winform程序中的Lable,Java Swing编程中的JLable,不过相对功能更强大些,但从功能上看,它其实就是个文字编辑器 ...

  6. 某CRM项目招投标工作的感悟

    最近参与了某公司的CRM项目招标工作, 由于此项目涉及到的二级单位比较多,以及项目金额比较大,所以此招标工作从准备到宣布中标一直持续了大概3个月时间,中间过程发生了一些颇有意思的事情,因为保密的原因无 ...

  7. 【UOJ #244】【UER #7】短路

    http://uoj.ac/contest/35/problem/244 对其他人来说好简单的一道题,我当时却不会做TWT 注定滚粗啊 题解很好的~ #include<cstdio> #i ...

  8. Model-View-ViewModel for iOS [译]

    如果你已经开发一段时间的iOS应用,你一定听说过Model-View-Controller, 即MVC.MVC是构建iOS app的标准模式.然而,最近我已经越来越厌倦MVC的一些缺点.在本文,我将重 ...

  9. 【BZOJ-3553】三叉神经树 树链剖分

    3553: [Shoi2014]三叉神经树 Time Limit: 160 Sec  Memory Limit: 256 MBSubmit: 347  Solved: 112[Submit][Stat ...

  10. vs创建项目模板和项模板

    原文地址:https://msdn.microsoft.com/zhcn/library/xkh1wxd8(v=vs.140).aspx 如何:创建项目模板 Visual Studio 2015   ...