JDBC连接数据库(一)
原文地址http://www.cnblogs.com/hongten/archive/2011/03/29/1998311.html
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() ; } }
JDBC连接数据库(一)相关推荐
- JDBC编程:1(使用JDBC连接数据库)
使用JDBC连接数据库 下载连接MySQL数据库的驱动 这个jar包可以在官网上对照着你的MySQL版本来下载,这里我下载的是最新的8.0.20版本, 这里是8.0.20版本的驱动包:mysql-co ...
- 如何使用jdbc连接数据库
如何使用jdbc连接数据库 数据库是一个有组织的数据集合.数据库管理系统以一种与数据库格式一致的方式,提供了存储和组织数据的机制.数据库管理系统允许在不考虑内部数据表示的情况下访问和存储数据. jav ...
- Java七步创建以JDBC连接数据库的程序
JDBC连接数据库 ◆ 创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java. ...
- JDBC连接数据库过程
JDBC连接数据库过程 时间: 2009-03-03 20:43来源: 作者: 点击: <script src="http://www.topkc.cn/plus/count.php? ...
- JDBC连接数据库总结
JDBC连接数据库 一下以mysql 数据库连接来说明 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(J ...
- 完整java开发中JDBC连接数据库代码和步骤
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...
- Jdbc连接数据库大全
Jdbc连接数据库大全 oracle Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); Stringu ...
- 2、JDBC连接数据库
1.JDBC连接数据库步骤 加载JDBC驱动程序 建立数据库连接Connection 创建执行SQL的语句Statement 处理执行结果ResultSet 释放资源 2.在项目里配置数据库驱动 右击 ...
- Java jdbc连接数据库 INSERT插入
Java jdbc连接数据库 INSERT插入 package com.edu; import java.sql.Connection; import java.sql.DriverManager; ...
- jdbc mysql 报错 ssl_Mybatis使用JDBC连接数据库报错及解决方案
Mybatis中,首先需要在主配置文件SqlMapConfig.xml中配置好数据库的连接参数,主要是四个参数:driver.url.username和password. 1.PNG 在配置和测试的过 ...
最新文章
- 520 情人节 :属于Python 程序员的脱单攻略大合集(视频版)
- 你了解欧拉回路吗?(附Java实现代码)
- oracle linux vs centos我们选择谁
- 高等数学同济第七版课后答案下册
- error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MTd_StaticDebug”不匹配值“MDd_DynamicDebug...
- 怎样借助Python爬虫给宝宝起个好名字
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol52]45.描述一些对抗RSA侧信道攻击的防御方法
- VS Code前端开发利器-常用快捷键
- 房贷断供了,房子就要被收走,首付款怎么办?
- Create a restful application with AngularJS and CakePHP (I)
- 【java学习之路】(javaWeb【后端】篇)006.FilterListener
- java的农夫养牛_以前农村里养牛的,为何喜欢在牛脖子上挂个铃铛?
- 集成谷歌地图不显示的问题
- 【数学】线性增长,指数增长,对数增长,幂增长
- 禁止查看网页源文件的代码
- ads1256 + STM32 + CubeMX 软件开发备忘
- 抖音seo源码搭建 抖音矩阵系统具体功能展示?
- JavaIDE的入门教程--Eclipse
- 洛谷P1125笨小猴C语言
- Dubbo host配置映射内网IP导致消费者无法连接到生产者提供的服务详解
热门文章
- linux配置文件为yum,yum的配置文件说明
- php 购物车封装代码,PHP中封装Redis购物车功能
- StringBuilder 和 String拼接10万个字符串的速度测试差别太大了
- Linux部署oracle11g,linux环境下部署Oracle11g
- 二叉树相关知识及求深度的代码实现
- C++std命名空间和头文件详解
- leetcode574. 当选者(SQL)
- Linux(1)-实用终端命令
- 密码学专题 密钥生成|分组加密的模式 ECB|CBC|CFB|OFB
- 为什么你应该参与到开源项目中