Connection con = null;
Statement st = null;
ResultSet rs = null;
try {
/*
* 可以注册多个驱动
* 如:
* DriverManager.registerDriver(new com.mysql.jdbc.Driver());
* DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
*
* 又如:以冒号(:)分隔
* System.setProperty("jdbc.drivers", "oracle.jdbc.driver.OracleDriver:com.mysql.jdbc.Driver");
*
*/
//1.注册驱动
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
//1.注册驱动的另一种方法
//System.setProperty("jdbc.drivers", "oracle.jdbc.driver.OracleDriver");
//1.注册驱动的另一种方法
//new oracle.jdbc.driver.OracleDriver();
//1.注册驱动的另一种方法
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
//2.建立连接
con = DriverManager.getConnection("jdbc:oracle:thin:@10.70.9.20:1521:ora10gtest", "icdpub", "icdpub");
String sql = "select * from dual";
//3.创建执行SQL的语句
st = con.createStatement();
rs = st.executeQuery(sql);
while(rs.next()){
//第1行第N列
System.out.println(rs.getObject(4));
}
} catch (SQLException e) {
e.printStackTrace();
//4.关闭连接
}finally{
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
st.close();
} catch (SQLException e) {
e.printStackTrace();
}finally{
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
1.接口PreparedStatement继承Statement接口
执行时间比较,
创建连接后,第一次
Statement比PreparedStatement速度快.
之后PreparedStatement比Statement快.
这个根据数据库驱动,以及数据库有很大关系.
PreparedStatement为推荐使用.
PreparedStatement可以对参数进行过滤.防止违规参数输入.
2.驱动注册方法有很多种.
类oracle.jdbc.driver.OracleDriver中有一个静态方法.
方法中有这样一段
defaultDriver = new OracleDriver();
DriverManager.registerDriver(defaultDriver);
从这里可以看出,new oracle.jdbc.driver.OracleDriver();
也是通过DriverManager注册的.
Class.forName("oracle.jdbc.driver.OracleDriver");为推荐方法
3.SQL语句,使用列名查询,不要按第几列第几列查询.这样做开发工作量比较大,但是维护成本就降低了.
con.setAutoCommit(false);//设置事务为手动控制
con.commit();//提交事务
con.rollback();//回滚事务
//批处理语句
ps = conn.prepareStatement(sql);
for (int i = 0; i < 100; i++) {
ps.setString(1, "batch name" + i);
ps.setDate(2, new Date(System.currentTimeMillis()));
ps.setFloat(3, 100f + i);
ps.addBatch();
//增加SQL语句可以针对每个不同的情况批处理
//ps.addBatch(sql);
}
int[] is = ps.executeBatch();
/*
* mysql 参数
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/icdpub","root","root");
*/
分享到:
相关推荐
JDBC 的相关基础知识,知识点很全面,简单易懂。
JDBC 基础知识课件.ppt
了解JDBC的概念及必要性 了解JDBC驱动程序类型 理解JDBC 程序的结构 运用JDBC进行数据库编程
次文档详细的讲解了jdbc的工作原理,以及对它又简单到深处的详细讲解
JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实现者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBC API 使得开发人员可以使用纯...
是一个自己总结的JDBC的知识提纲,简单但是很实用
学习目标 了解JDBC的概念及必要性 了解JDBC驱动程序类型 理解JDBC 程序的结构 运用JDBC进行数据库编程
这是学Java的时候教程上的习题,上传供大家学习学习,希望大家上传更多的资源
NULL 博文链接:https://chengjianxiaoxue.iteye.com/blog/2077280
实践4 JDBC基础知识转换
第10章 JDBC一、填空题1.JDBC驱动管理器专门负责注册特定的JDBC驱动器,主要通过类实现。2.在编写JDBC应用程序时,必须要把指定数据库驱动程序或类
JSP、分页、JDBC基础知识、供初学J2EE的朋友参考
JDBC数据基础知识.zip
JDBC数据基础知识.pptx
JDBC基础.ppt,课件,基础知识很全面,还有高级篇!
关于jdbc的基础知识。 1:MySQL简介 2:MySQL列类型 3:SQL语句语法 4:MySQL图形界面操作