java-JDBC连接oracle数据库,StateMent和PreparedStatement对比(查询query)


1、 PreparedStatement接口继承Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象。

2、作为 Statement 的子类,PreparedStatement 继承了 Statement 的所有功能。三种方法 execute、 executeQuery 和 executeUpdate 已被更改以使之不再需要参数

3、在JDBC应用中,如果你已经是稍有水平开发者,你就应该始终以PreparedStatement代替 Statement.也就是说,在任何时候都不要使用Statement.
 
 
import java.awt.Color;
import java.awt.Container;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel; public class JavaJdbc extends JFrame {
Connection connection=null;//驱动连接接口
Statement statement=null;//得到接口实现对象
ResultSet rs=null;//结果集接口
ResultSetMetaData rsmd=null;
public JavaJdbc(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动
String dbUrl="jdbc:oracle:thin:@localhost:1521:orcl"; //连接oracle数据库
String username="admin"; //数据库的登录帐号和密码
String password="admin";
connection=DriverManager.getConnection(dbUrl,username,password);
statement=connection.createStatement();
rs=statement.executeQuery("select * from student");//sql查询语句
rsmd=rs.getMetaData();
int length=rsmd.getColumnCount();
for(int i=1;i<=length;i++)
System.out.print(rsmd.getColumnName(i)+" ");
System.out.println();
while(rs.next()){
for(int i=1;i<=length;i++)
System.out.print(rs.getString(i)+" ");
System.out.println();
} }catch(ClassNotFoundException e){
//System.out.println("数据库驱动加载失败..."+e.getStackTrace());
e.printStackTrace();
}catch(SQLException e){
System.out.println("数据库连接失败..."+e.getStackTrace());
}finally{
try{
if(rs!=null){
rs.close();
}
if(connection!=null){
connection.close();
}
}catch(SQLException e){
e.getStackTrace();
}
}
}
public static void main(String args[]){
new JavaJdbc();
}
}

preparedStatement

import java.awt.Color;
import java.awt.Container;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
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;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel; public class JavaJdbc extends JFrame {
Connection connection=null;//驱动连接接口
PreparedStatement preparedstatement=null;//得到接口实现对象
ResultSet rs=null;//结果集接口
ResultSetMetaData rsmd=null;
public JavaJdbc(){
try{
Class.forName("oracle.jdbc.driver.OracleDriver"); //加载驱动
String dbUrl="jdbc:oracle:thin:@localhost:1521:orcl"; //连接oracle数据库
String username="admin"; //数据库的登录帐号和密码
String password="admin";
connection=DriverManager.getConnection(dbUrl,username,password);
String sql="select * from student";
//创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。
preparedstatement=connection.prepareStatement(sql);
rs=preparedstatement.executeQuery();//获得结果集
rsmd=rs.getMetaData();
int length=rsmd.getColumnCount();
for(int i=1;i<=length;i++)
System.out.print(rsmd.getColumnName(i)+" ");
System.out.println();
while(rs.next()){
for(int i=1;i<=length;i++)
System.out.print(rs.getString(i)+" ");
System.out.println();
} }catch(ClassNotFoundException e){
//System.out.println("数据库驱动加载失败..."+e.getStackTrace());
e.printStackTrace();
}catch(SQLException e){
System.out.println("数据库连接失败..."+e.getStackTrace());
}finally{
try{
if(rs!=null){
rs.close();
}
if(connection!=null){
connection.close();
}
}catch(SQLException e){
e.getStackTrace();
}
}
}
public static void main(String args[]){
new JavaJdbc();
}
}

java-JDBC-Oracle数据库连接的更多相关文章

  1. JAVA jdbc获取数据库连接

    JDBC获取数据库连接的帮助类 import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManage ...

  2. 关于jdbc Oracle数据库连接的URL错误

    今天写了个java类连接oracle,抛出了这个问题 java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127 ...

  3. Java -- JDBC 学习--数据库连接池

    JDBC数据库连接池的必要性 在使用开发基于数据库的web程序时,传统的模式基本是按以下步骤: 在主程序(如servlet.beans)中建立数据库连接. 进行sql操作 断开数据库连接. 这种模式开 ...

  4. java jdbc oracle ORA-01795: 列表中的最大表达式数为 1000

    在操作SQL中存在In的数量如果超过1000条会提示   ORA-01795: 列表中的最大表达式数为 1000 归纳有几种方式出现的: 第一种是:我在上一个 [jdbc 同时执行 查询和删除操]作中 ...

  5. Java通用oracle和mysql数据库连接

    Java中oracle数据库连接写一个通用类UBUtil(){} import java.io.InputStream; import java.sql.*; import java.util.Pro ...

  6. Java jdbc数据库连接池总结!(转)

    1. 引言 近年来,随着Internet/Intranet建网技术的飞速发展和在世界范围内的迅速普及,计算机 应用程序已从传统的桌面应用转到Web应用.基于B/S(Browser/Server)架构的 ...

  7. Java Web(九) JDBC及数据库连接池及DBCP,c3p0,dbutils的使用

    DBCP.C3P0.DBUtils的jar包和配置文件(百度云盘):点我下载 JDBC JDBC(Java 数据库连接,Java Database Connectify)是标准的Java访问数据库的A ...

  8. Java JDBC连接Oracle

    1. 安装Oracle数据库,我这里使用的是Oracle 12c 2. 创建Java工程 connection-oracle 注意:使用的JavaSE-1.8 3. 在Oracle的安装目录里,将dj ...

  9. java JDBC链接sqlserver/mysql/oracle

    今天初学数据库的一些简单创建数据库和表,并进行简单的查询,插入. 接下学习的就是java工程中怎么链接数据库呢.主要的方法和用到的类如下. 切记,mysql需要的jar包 mysql-connecto ...

  10. Java JDBC Thin Driver 连接 Oracle 三种方法说明(转载)

    一.JDBC 连接Oracle 说明 JDBC 的应用连接Oracle 遇到问题,错误如下: ORA-12505,TNS:listener does not currently know of SID ...

随机推荐

  1. 僵尸传染bfs

    #include<stdio.h> int map[4][4]={0,0,0,1,       0,0,1,1,       0,0,1,0,       0,1,0,0}; int mx ...

  2. Linux下安装Xdebug

    为了调试PHP程序,安装一下xdebug. 官方网址: http://www.xdebug.org 首先下载xdebug2.1.0,在官方首页下载源代码,下载回来的文件名是:xdebug-2.1.0. ...

  3. jsmooth 中文乱码

    为了一个问题 语言国际国际化  测试了这么多回  ,真佩服自己 jsmooth 中文乱码 语言乱码 的解决办法 : 需要在“JVM” 的参数 中填入一项 : user.language=en  而不是 ...

  4. 关于Memo或者Edit之类控件, 直接设置Text无法撤销的解决方案

    昨天看到群里有人问使用Memo1.Text := '11111';来设置内容的代码无法使用Memo1.Undo的方式来撤销 测试了一下果然如此, 跟踪了VCL代码, 发现Text := '11111' ...

  5. SQL Server数据库层面自定义数据同步性能测试

    场景: A DB Server位于上海 B DB Server位于广州 现有特殊需求,需要通过数据链接将数据从A服务器表T1数据同步至B表T2 性能测试: 现模拟T1表9000笔数据 方式一:直接将9 ...

  6. start from here

    简单介绍下,小码农一只,工作两年左右,从事移动端游戏开发工作. 人类,精神正常,男,爱好游戏音乐足球美女,if(有妹子) 喜欢旅游;,取向正常. 很喜欢java,喜欢关注新技术, 应一些朋友的建议,今 ...

  7. js实现表格信息的删除和添加

    制作一个表格,显示班级的学生信息. 要求: 1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff 2. 点击添加按钮,能动态在最后添加一行 3. 点击删除按钮 ...

  8. CodeForce727C. Guess the Array---交互题

    题目链接:http://codeforces.com/contest/727/problem/C 题意:交互题: printf(“? i j\n”); fflush(stdout); 然后scanf( ...

  9. 用CocoaPods做iOS程序的依赖管理

    CocoaPods简介 每种语言发展到一个阶段,就会出现相应的依赖管理工具,例如Java语言的Maven,nodejs的npm.随着iOS开发者的增多,业界也出现了为iOS程序提供依赖管理的工具,它的 ...

  10. search搜索功能

    1.html <div class="search">        <form name="formsearch" action=" ...