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 8211 单例模式 Singleton模式主要作 ... -
java多线程技术
2012-06-09 18:17 1297[size=large] 1 了解程序、进程、线程的概念 ... -
java网络编程socket
2012-06-09 18:03 1437网络通信基本概念 协议:协议是一组在网络上发送信息的规则 ... -
java io流编程
2012-06-09 17:11 5789一、java.io.File 1、绝对路径和相对路径 F ... -
java swing之JTable和JList
2012-06-09 15:16 221481、JTable JTable构造方法: JTable(Tab ... -
java swing基础与事件处理
2012-06-09 15:02 14436一、swing基础 1、平台无 ... -
eclipse常用快捷键
2012-06-08 15:39 0eclipse常用快捷键 Eclipse ... -
java集合框架
2012-06-08 15:33 15041、java集合架构支持3种类型的集合:规则集(Set),线性 ... -
java异常处理
2012-06-08 13:23 934一、Java异常的基础知识 ... -
java系统常用类
2012-06-08 13:07 12751、Object类 构造方法: Object() 常用方法: ... -
java三大特性
2012-06-08 12:44 1282java三大特性: 封装:隐藏对象的属性和实现细节,仅对外公开 ... -
java基础语法
2012-06-08 12:16 9721、环境变量 (1)JAVA_HOME:指明JDK安装路径,就 ...
相关推荐
Java JDBC编程总结 Hibernate、TopLink等OR Mapping操作数据库的技术都是建立JDBC技术之上的,实际来说,他们的性能和JDBC是有很大差距的,但反过来说,如果JDBC用不好,还不如hibernate呢。暂且不说这些孰优孰劣的...
javaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.pptjavaJDBC编程.ppt
Java JDBC编程教程 资源为视频教程资源 希望对你的 Java 学习有所帮助。
全面的 Java JDBC 编程学习知识总结 一张图搞定! 结构性强,便于记忆! 资源博客:https://blog.csdn.net/CodeYearn/article/details/89196038
JAVA JDBC编程.pptJAVA JDBC编程.ppt
JDBC编程源码里面有很多的源码,有ppt文档,还有其他的一些有用的文档。
物有所值,内含mysql Oracle10g sqlserver,asscess等驱动。全!!!
The JDBC tec learn easily for us.
JDBC编程!java中的数据库连接!源代码!适合初学者!
一本很实用的java 数据库开发入门级开发指南,实例精彩,很有指导意义。
使用JDBC API提供的接口和类进行连接数据库、执行SQL语句、处理结果集等操作方法
JAVA JDBC编程技术,JAVA JDBC编程技术,JAVA JDBC编程技术,JAVA JDBC编程技术,JAVA JDBC编程技术
JAVA数据库编程JDBC 与 Java数据库接口JDBC入门基础讲座 与 JDBC API数据库编程实作教材-程序设计-JAVA JDBC全压缩包.rar
基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java的网吧管理系统,MySQL数据库,JDBC编程! 基于Java...
《JDBC API数据库编程实作教程》不但可作为初中级层面读者的自学指导书,也可作为高等院校相关专业师生教学、自学参考书,或社会相关领域的培训班教材,对中高级编程人员学习Java JDBC编程技巧也有参考价值。
Java_JDBC编程.ppt ,对java连接数据库有所帮助,数据库可以是oracle,也可以是mysql
好东西 Java_JDBC数据库编程技术与实例
详细介绍了基于JAVA语言的JDBC编程技术以及相关典型案例。