- 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() ;
- }
- }
- 浏览: 55678 次
- 性别:
- 来自: 北京
文章分类
最新评论
发表评论
-
ubuntu的数据库主从复制
2015-12-30 08:58 0详情见附件 -
spring JAR包详解
2015-12-11 11:32 597spring.jar 是包含有完整 ... -
JUnit Assert方法总结
2015-12-07 11:48 714junit中的assert方法全部放在Assert类中 ... -
windows中zookeeper的配置
2015-10-19 16:12 8951:首先下载一个zookeeper,我下载的版本是zooke ... -
StringUtils的常用方法
2015-09-17 17:02 8231.取得字符串的缩写 使用函数: StringUtils.ab ... -
详细设计
2015-04-21 14:33 567详细设计 OA协同办公系统,详细设计说明书 h ... -
多线程同步
2015-03-12 11:24 344在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就 ... -
没有安装jdk的系统中执行jar
2014-06-19 13:51 1178一、精简jre 制作了一个SWING程序,为用户方便,需 ... -
河南交通运输厅OA办公自动化项目总结
2014-05-09 09:24 0一、new很多spring容器 二、线程创建没有放在线程 ... -
Office转pdf
2014-04-29 09:11 1152一、使用Jodconverter 利用OpenOffice ... -
log4j的使用
2014-03-10 16:03 445第一步:加入log4j-1.2.8.jar到lib下。第二 ... -
spring整合hibernate
2014-03-10 15:56 432原文转自:http://wanqiufeng.blog.51 ... -
webservice中的session的管理
2014-03-07 12:54 578Session.java代码如下: ... -
unicode编码的转化
2013-08-12 18:52 697/** * 把中文转成Unicode码 * @param ... -
java学习视频
2013-07-16 12:58 420http://edu.csdn.net/java/video ... -
读取Jar包内的资源
2013-04-26 11:21 967在项目中使用Maven,有大量的jar包。 原来代码中 直接 ... -
JVM参数说明
2013-04-13 10:27 773JVM配置参数中文说明: --------------- ... -
线程池ExecuteService使用总结一
2013-04-11 16:02 2735三个区别: 1、接收的参数不一样 2、submit有返回 ... -
https开发应用
2013-04-10 11:53 670SSL, 或者Secure Socket Laye ... -
json验证
2013-04-09 15:50 0try {// JSONObject json = ne ...
相关推荐
4. **JDBC使用步骤**: - 加载并注册驱动:通过`Class.forName()`加载指定的驱动类。 - 创建数据库连接:`DriverManager.getConnection(url, username, password)`。 - 创建Statement对象:`connection....
### Java JDBC编程总结 #### 一、JDBC基本原理 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,这使得Java应用程序无需依赖于底层数据库的具体实现就...
总结,Java的JDBC提供了与数据库交互的标准接口,通过理解并熟练掌握JDBC的基本操作流程、注意事项、预处理语句以及存储过程的调用,能够更安全、高效地实现数据库操作。同时,了解分页技术有助于在大量数据时提高...
总结,JDBC作为Java访问数据库的标准接口,具有广泛的应用场景。理解并熟练掌握JDBC的基本概念、组件和最佳实践,对于提升Java应用的数据库操作性能至关重要。通过上述内容,我们了解了JDBC的运作机制,掌握了使用...
### JDBC知识点总结 #### 一、JDBC概述 **简介** JDBC (Java Database Connectivity) 是由 SUN 公司提供的一套标准规范,用于在 Java 应用程序中访问关系型数据库。它允许 Java 程序通过统一的 API 与不同的...
**JDBC连接数据库经验总结** Java Database Connectivity (JDBC...通过以上总结,我们可以更有效地使用JDBC进行数据库操作,同时遵循最佳实践来提升代码质量和性能。在实际项目中,理解并熟练应用这些知识点至关重要。
在Java中,使用JDBC可以实现对各种数据库的操作,包括Oracle、MySQL等。下面将详细阐述JDBC操作数据库的基本步骤以及一些关键知识点。 1. **加载数据库驱动**: - 在开始数据库操作前,必须先加载对应的数据库驱动...
JDBC是Java平台的标准组成部分,提供了统一的接口,使得开发者可以使用相同的API与不同的数据库系统进行通信。 ### JDBC的基本概念 1. **驱动程序类型**: - JDBC-ODBC桥接驱动:通过ODBC接口与数据库连接。 - ...
总结来说,Java JDBC是Java与数据库交互的基础,理解并熟练掌握JDBC的使用,对进行Java数据库开发至关重要。同时,合理配置和使用数据库连接池,能有效提高应用的性能和资源利用率。在实际开发中,结合IDE提供的工具...
JDBC 知识全面总结 脑图 结构性好 方便记忆
这篇总结将深入探讨JDBC的核心概念、工作原理以及在实际开发中的应用。 一、JDBC基础 1. **驱动管理**:JDBC驱动是Java程序连接数据库的桥梁,分为四种类型:JDBC-ODBC桥接驱动、本地API驱动、网络纯Java驱动和...
JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一套标准API,由Sun Microsystems(现已被Oracle收购)定义。JDBC提供了一种标准的接口,使得Java开发者能够以统一的方式访问不同...
"jdbc 基础的详解与总结" jdbc 是一套协议,由 Sun 公司定义的一组接口,由数据库厂商来实现,并规定了 Java 开发人员访问数据库所使用的方法的调用规范。jdbc 的实现是由数据库厂商提供,以驱动程序形式提供。jdbc...
**JDBC(Java Database Connectivity)**是Java编程...总结来说,JDBC提供了一套标准的API,使得Java开发者能够轻松地与各种数据库系统进行交互。通过理解并熟练运用JDBC,我们可以构建出高效且可靠的数据库应用程序。
在Java编程中,JDBC(Java Database Connectivity)是Java语言与数据库交互的标准接口,它使得开发者可以使用Java代码来操作数据库。本篇内容将深入探讨JDBC连接的各个方面,旨在为你提供全面的理解和实用技巧。 ##...
"JDBC学习笔记总结" JDBC(Java Database Connectivity)是一种Java API,用于连接和操作关系数据库。下面是JDBC学习笔记的总结: 连接到数据库的方法 1. ODBC(Open Database Connectivity):是一个以C语言为...
### PI JDBC Communication Channel总结(安装驱动) #### 一、引言 在SAP PI (Process Integration)项目实施过程中,JDBC通信通道是非常重要的组件之一,它主要用于与外部数据库进行交互。本文将详细介绍如何在...
标日初级总结笔记JDBC学习总结笔记.pdf
总结起来,对JDBC的封装是提高Java应用数据库操作效率和质量的关键步骤。通过引入连接池、使用PreparedStatement、创建DAO层等技术,我们可以实现更高效、安全和易于维护的数据库操作代码。同时,处理SQL文件的能力...