1:JDBC
Java DataBase Connectivity(Java数据库连接技术)
2:JDBC设计的目的。
是一种接口的类组成。使用接口的特点,只定义规范,让不同的
数据库厂商实现。这样程序员不用关心如何连接各种数据库的底
层实现。
3:JDBC的组成结构
JDBC_API(SUN公司提供)
驱动管理器(用于连接API与驱动之间的连接关系)
数据库的驱动程序(数据库厂商提供)
4:JDBC的4种驱动的类型
A:JDBC_ODBC桥
B:本地API
C:网络协议驱动
D:本地协议驱动。
A/B:适合C/S架构
C/D:适合B/S架构。
效率:B>C>D>A
5:JDBC的连接过程:
前提:将数据库的驱动包拷到工程中。
A:加载驱动。
B:获取连接
C:构造SQL语句执行对象
D:发送SQL
E:关闭资源(关闭的先后问题)
6:Connection接口的方法:
close()
savePoint(name)
commit()
rollback()
rollback(SavePoint)
setAutoCommit();
createStatement();
prepareStatement(String sql)
prepareCall(String sql)
7:Statement
addBatch(String sql)
executeBatch
clearBatch()
close()
execute() //执行DDL,DML和Select语句。
true:表示执行的是SElect语句。
false:表示执行提DDL和insert/update/delete语句。
executeUpdate() //执行DDL和DML语句。返回影响行数的结果。
executeQuery(); //执行Select语句。
8:ResultSet
结果集:结果集与游标或者迭代器的机制一致。停在第一条记录的前面。
要用的话,必须Next一下。
9、例子
Java DataBase Connectivity(Java数据库连接技术)
2:JDBC设计的目的。
是一种接口的类组成。使用接口的特点,只定义规范,让不同的
数据库厂商实现。这样程序员不用关心如何连接各种数据库的底
层实现。
3:JDBC的组成结构
JDBC_API(SUN公司提供)
驱动管理器(用于连接API与驱动之间的连接关系)
数据库的驱动程序(数据库厂商提供)
4:JDBC的4种驱动的类型
A:JDBC_ODBC桥
B:本地API
C:网络协议驱动
D:本地协议驱动。
A/B:适合C/S架构
C/D:适合B/S架构。
效率:B>C>D>A
5:JDBC的连接过程:
前提:将数据库的驱动包拷到工程中。
A:加载驱动。
B:获取连接
C:构造SQL语句执行对象
D:发送SQL
E:关闭资源(关闭的先后问题)
6:Connection接口的方法:
close()
savePoint(name)
commit()
rollback()
rollback(SavePoint)
setAutoCommit();
createStatement();
prepareStatement(String sql)
prepareCall(String sql)
7:Statement
addBatch(String sql)
executeBatch
clearBatch()
close()
execute() //执行DDL,DML和Select语句。
true:表示执行的是SElect语句。
false:表示执行提DDL和insert/update/delete语句。
executeUpdate() //执行DDL和DML语句。返回影响行数的结果。
executeQuery(); //执行Select语句。
8:ResultSet
结果集:结果集与游标或者迭代器的机制一致。停在第一条记录的前面。
要用的话,必须Next一下。
9、例子
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; public class TestJDBC { public static void insertBatch() { // userid/username/spassword/deptid Connection connection = null; Statement statement = null; String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "user"; String password = "password"; try { // 1 加载驱动程序 Class.forName(driver); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { // 2 建立数据库连接 connection = DriverManager.getConnection(url, user, password); // 改变事务提交方式,以便手动控制事务 connection.setAutoCommit(false); // 3 执行SQL语句 statement = connection.createStatement(); // 批量插入 String sql = "insert into t_user values(seq_t_user.nextval,'oracle1105' || seq_t_user.currval,'666666',2)"; statement.addBatch(sql); sql = "insert into t_user values(seq_t_user.nextval,'oracle1105' || seq_t_user.currval,'666666',2)"; statement.addBatch(sql); sql = "insert into t_user values(seq_t_user.nextval,'oracle1105' || seq_t_user.currval,'666666',2)"; statement.addBatch(sql); sql = "insert into t_user values(seq_t_user.nextval,'oracle1105' || seq_t_user.currval,'666666',2)"; statement.addBatch(sql); sql = "insert into t_user values(seq_t_user.nextval,'oracle1105' || seq_t_user.currval,'666666',2)"; statement.addBatch(sql); statement.executeBatch(); // 手动提交 connection.commit(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { // 4 关闭资源 // try { // statement.close(); // connection.close(); // } catch (SQLException e) { // // TODO Auto-generated catch block // e.printStackTrace(); // } } } public static void query() { Connection connection = null; Statement statement = null; ResultSet resultSet = null; String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl"; String user = "user"; String password = "password"; String sql = "select * from t_user"; try { // 1 加载驱动程序 Class.forName(driver); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { // 2 建立数据库连接 connection = DriverManager.getConnection(url, user, password); // 3 执行SQL语句 statement = connection.createStatement(); // 4 接收查询结果 resultSet = statement.executeQuery(sql); while (resultSet.next()) { // 1 字段顺序 int userid = resultSet.getInt(1); String username = resultSet.getString("username"); System.out .println("userid:" + userid + ",username:" + username); } ResultSetMetaData resultSetMetaData=resultSet.getMetaData(); int count=resultSetMetaData.getColumnCount(); System.out.println("列数:"+count); for (int i = 1; i <= count; i++) { System.out.println("列名:"+resultSetMetaData.getColumnName(i)); System.out.print("类型:"+resultSetMetaData.getColumnTypeName(i)); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { // 4 关闭资源 try { resultSet.close(); statement.close(); connection.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public static void main(String[] args) { query(); } }
发表评论
-
java 设计模式
2012-06-11 19:34 8561 单例模式 Singleton模式主要作 ... -
java多线程技术
2012-06-09 18:17 1334[size=large] 1 了解程序、进程、线程的概念 ... -
java网络编程socket
2012-06-09 18:03 1464网络通信基本概念 协议:协议是一组在网络上发送信息的规则 ... -
java io流编程
2012-06-09 17:11 5829一、java.io.File 1、绝对路径和相对路径 F ... -
java swing之JTable和JList
2012-06-09 15:16 223771、JTable JTable构造方法: JTable(Tab ... -
java swing基础与事件处理
2012-06-09 15:02 14548一、swing基础 1、平台无 ... -
eclipse常用快捷键
2012-06-08 15:39 0eclipse常用快捷键 Eclipse ... -
java集合框架
2012-06-08 15:33 15451、java集合架构支持3种类型的集合:规则集(Set),线性 ... -
java异常处理
2012-06-08 13:23 974一、Java异常的基础知识 ... -
java系统常用类
2012-06-08 13:07 13081、Object类 构造方法: Object() 常用方法: ... -
java三大特性
2012-06-08 12:44 1329java三大特性: 封装:隐藏对象的属性和实现细节,仅对外公开 ... -
java基础语法
2012-06-08 12:16 10041、环境变量 (1)JAVA_HOME:指明JDK安装路径,就 ...
相关推荐
### Java JDBC编程总结 #### 一、JDBC基本原理 JDBC(Java Database Connectivity)是一种用于执行SQL语句的Java API,它可以为多种关系数据库提供统一访问,这使得Java应用程序无需依赖于底层数据库的具体实现就...
javaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.ppt
本教程将深入探讨Java JDBC编程的基础和实践,帮助你掌握如何在Java应用中高效地使用数据库。 ### 1. JDBC基础知识 #### 1.1 数据库驱动 在Java中,与数据库通信需要一个对应的数据库驱动。JDBC驱动分为四种类型:...
本资源“Java jdbc编程驱动(全)”包含了多种主流数据库系统的JDBC驱动,包括MySQL、Oracle 10g以及SQL Server,这使得Java开发者能够在不同的数据库环境下方便地进行开发。 1. **MySQL JDBC驱动**:MySQL的JDBC...
本压缩包中的"java JDBC编程源码"很可能包含以下几个方面的内容: 1. **JDBC连接数据库**:源码中可能包含了如何通过`DriverManager.getConnection()`方法建立数据库连接的示例。首先需要加载数据库驱动,例如`...
Java JDBC(Java ...总之,Java JDBC编程技术是Java开发人员必备的技能之一,掌握好JDBC可以帮助我们更好地进行数据库操作,提升应用的稳定性和效率。通过深入学习和实践,我们可以成为一名优秀的数据库开发者。
**Java JDBC编程**是Java应用程序与数据库交互的关键技术。JDBC(Java Database Connectivity)是Java平台中的一个标准接口,它允许Java程序与各种类型的数据库进行通信。本章将深入探讨JDBC的核心概念、架构和使用...
全面的 Java JDBC 编程学习知识总结 一张图搞定! 结构性强,便于记忆! 资源博客:https://blog.csdn.net/CodeYearn/article/details/89196038
Java JDBC编程是Java语言连接和操作关系型数据库的关键技术。JDBC(Java Database Connectivity)是Java平台中的标准API,它允许Java程序通过Java代码来访问和处理各种类型的数据库。本实验旨在让学生掌握使用JDBC ...
总的来说,JDBC编程是Java程序员必须掌握的基础技能之一,它不仅可以帮助我们理解数据库操作的底层原理,还可以提高我们解决实际问题的能力。对于初学者来说,通过学习JDBC编程,可以加深对Java和数据库的理解,为...
在学习JDBC编程时,还需要了解如何处理异常,以及如何根据具体的数据库驱动进行适配。此外,JDBC API虽然强大,但在复杂的应用场景下,通常会结合ORM框架(如Hibernate、MyBatis)来简化数据库操作,提高开发效率。...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种数据库进行交互的一组接口和类。它提供了一种标准化的方法,让程序员可以使用SQL语句访问数据库,而无需关心具体的数据库实现细节。在Java应用...
Java JDBC(Java Database Connectivity)是Java编程语言中用于与各种关系数据库进行交互的一组接口和类。它作为标准API,允许开发人员通过编写Java代码来访问和操作数据库,无需了解数据库特定的SQL语法或者驱动...
在Java JDBC编程中,要妥善处理SQLException及其子类,确保在出现错误时能正确关闭资源并给出反馈。 7. **性能优化** - 使用PreparedStatement预编译SQL语句,提高执行效率。 - 合理设置批处理(batch ...
Java JDBC学生数据管理系统是一个利用Java编程语言和JDBC(Java Database Connectivity)技术设计的应用,用于高效管理和操作学生数据。这个系统提供了用户友好的界面,使得用户可以方便地执行SQL(Structured Query...
基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java...
本资料"JDBC编程技术.rar"提供了关于JDBC编程的详细指南和实例,作者brownmxh是一名Java领域的专家。 在JDBC编程中,首先需要理解的是JDBC驱动程序的四个主要类型:Type 1、Type 2、Type 3和Type 4。Type 1是纯Java...
Java JDBC (Java Database Connectivity) 是Java编程语言中用于与各种数据库进行交互的一组接口和类。它是Java标准版的一部分,允许开发人员在不依赖特定数据库API的情况下,编写可移植的数据库应用程序。JDBC提供了...