javajdbc连接oracle数据库
❶ 如何利用JDBC连接并操作Oracle数据库
S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;
S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键->BuildPath->AddExternalArchiver然后选择你刚才放在项目中的文件,点确定即可。
S3、打开Oracle的各项服务,并在Oracle中建一张表。
S4、编写MyEclipse与Oracle的连接程序:
[cpp]viewplainprint?<SPANstyle="FONT-SIZE:16px">importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.sql.*;
publicclassJDBC_Test{
//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库
//1521为连接的端口号
privatestaticStringurl="jdbc:oracle:thin:@localhost:1521:orcl";
//system为登陆oracle数据库的用户名
privatestaticStringuser="system";
//manager为用户名system的密码
privatestaticStringpassword="manager";
publicstaticConnectionconn;
;
publicstaticResultSetrs;
publicstaticStatementst;
//连接数据库的方法
publicvoidgetConnection(){
try{
//初始化驱动包
Class.forName("oracle.jdbc.driver.OracleDriver");
//根据数据库连接字符,名称,密码给conn赋值
conn=DriverManager.getConnection(url,user,password);
}catch(Exceptione){
//TODO:handleexception
e.printStackTrace();
}
}
//测试能否与oracle数据库连接成功
publicstaticvoidmain(String[]args){
JDBC_Testbase=newJDBC_Test();
base.getConnection();
if(conn==null){
System.out.println("与oracle数据库连接失败!");
}else{
System.out.println("与oracle数据库连接成功!");
}
}
}
</SPAN>
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.Statement;
importjava.sql.*;
publicclassJDBC_Test{
//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库
//1521为连接的端口号
privatestaticStringurl="jdbc:oracle:thin:@localhost:1521:orcl";
//system为登陆oracle数据库的用户名
privatestaticStringuser="system";
//manager为用户名system的密码
privatestaticStringpassword="manager";
publicstaticConnectionconn;
;
publicstaticResultSetrs;
publicstaticStatementst;
//连接数据库的方法
publicvoidgetConnection(){
try{
//初始化驱动包
Class.forName("oracle.jdbc.driver.OracleDriver");
//根据数据库连接字符,名称,密码给conn赋值
conn=DriverManager.getConnection(url,user,password);
}catch(Exceptione){
//TODO:handleexception
e.printStackTrace();
}
}
//测试能否与oracle数据库连接成功
publicstaticvoidmain(String[]args){
JDBC_Testbase=newJDBC_Test();
base.getConnection();
if(conn==null){
System.out.println("与oracle数据库连接失败!");
}else{
System.out.println("与oracle数据库连接成功!");
}
}
}
S5、如果上述的连接已经建立,就可以利用JDBC中的JavaAPI对数据库进行操作了,具体的查询,插入,删除,更新操作如下:
[cpp]viewplainprint?<SPANstyle="FONT-SIZE:16px">代码转载自:http://blog.csdn.net/cxwen78/article/details/6863696
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassJDBC_Test{
//创建静态全局变量
staticConnectionconn;
staticStatementst;
publicstaticvoidmain(String[]args){
insert();//插入添加记录
update();//更新记录数据
delete();//删除记录
query();//查询记录并显示
}
/*插入数据记录,并输出插入的数据记录数*/
publicstaticvoidinsert(){
conn=getConnection();//首先要获取连接,即连接到数据库
try{
Stringsql="INSERTINTOstaff(name,age,sex,address,depart,worklen,wage)"
+"VALUES('Tom1',32,'M','china','Personnel','3','3000')";//插入数据的sql语句
st=(Statement)conn.createStatement();//创建用于执行静态sql语句的Statement对象
intcount=st.executeUpdate(sql);//执行插入操作的sql语句,并返回插入数据的个数
System.out.println("向staff表中插入"+count+"条数据");//输出插入操作的处理结果
conn.close();//关闭数据库连接
}catch(SQLExceptione){
System.out.println("插入数据失败"+e.getMessage());
}
}
/*更新符合要求的记录,并返回更新的记录数目*/
publicstaticvoipdate(){
conn=getConnection();//同样先要获取连接,即连接到数据库
try{
Stringsql="updatestaffsetwage='2200'wherename='lucy'";//更新数据的sql语句
st=(Statement)conn.createStatement();//创建用于执行静态sql语句的Statement对象,st属局部变量
intcount=st.executeUpdate(sql);//执行更新操作的sql语句,返回更新数据的个数
System.out.println("staff表中更新"+count+"条数据");//输出更新操作的处理结果
conn.close();//关闭数据库连接
}catch(SQLExceptione){
System.out.println("更新数据失败");
}
}
/*查询数据库,输出符合要求的记录的情况*/
publicstaticvoidquery(){
conn=getConnection();//同样先要获取连接,即连接到数据库
try{
Stringsql="select*fromstaff";//查询数据的sql语句
st=(Statement)conn.createStatement();//创建用于执行静态sql语句的Statement对象,st属局部变量
ResultSetrs=st.executeQuery(sql);//执行sql查询语句,返回查询数据的结果集
System.out.println("最后的查询结果为:");
while(rs.next()){//判断是否还有下一个数据
//根据字段名获取相应的值
Stringname=rs.getString("name");
intage=rs.getInt("age");
Stringsex=rs.getString("sex");
Stringaddress=rs.getString("address");
Stringdepart=rs.getString("depart");
Stringworklen=rs.getString("worklen");
Stringwage=rs.getString("wage");
//输出查到的记录的各个字段的值
System.out.println(name+""+age+""+sex+""+address
+""+depart+""+worklen+""+wage);
}
conn.close();//关闭数据库连接
}catch(SQLExceptione){
System.out.println("查询数据失败");
}
}
/*删除符合要求的记录,输出情况*/
publicstaticvoiddelete(){
conn=getConnection();//同样先要获取连接,即连接到数据库
try{
Stringsql="deletefromstaffwherename='lili'";//删除数据的sql语句
st=(Statement)conn.createStatement();//创建用于执行静态sql语句的Statement对象,st属局部变量
intcount=st.executeUpdate(sql);//执行sql删除语句,返回删除数据的数量
System.out.println("staff表中删除"+count+"条数据 ");//输出删除操作的处理结果
conn.close();//关闭数据库连接
}catch(SQLExceptione){
System.out.println("删除数据失败");
}
}
/*获取数据库连接的函数*/
(){
Connectioncon=null;//创建用于连接数据库的Connection对象
try{
Class.forName("com.mysql.jdbc.Driver");//加载Mysql数据驱动
con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myuser","root","root");//创建数据连接
}catch(Exceptione){
System.out.println("数据库连接失败"+e.getMessage());
}
returncon;//返回所建立的数据库连接
}
}
</SPAN>
❷ JDBC 连接oracle的问题
最近做一个java web项目,使用jdbc连接Oracle数据库,遇到了两个问题。 回到顶部(go to top) 后来发现这个问题的原因是由于连接字符串写错了,修正以后如下所示: publicstaticConn...
❸ java连接Oracle数据库
8.Oracle8/8i/9i数据库(thin模式)
//import java.sql.*;
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID
String user="test";
String password="test";
Connection conn= DriverManager.getConnection(url,user,password);
Statement stmtNew=conn.createStatement();
1.提取单条记录
//import java.sql.*;
Connection con=null;
Statement stmt=null;
ResultSet %%6=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:"+%%1;
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement();
stmt.executeUpdate(%%4);
%%6=stmt.executeQuery(%%5);
%%7
}catch(Exception e){
e.printStackTrace();
}finally{
try {
try {
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
}
2.单值比较
//import java.sql.*;
ResultSet rs;
String strurl="jdbc:odbc:%%1";
Connection con=NULL;
Statement stmt=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs=stmt.executeQuery(%%2);
rs.next();
int %%3=rs.getInt("%%3");
if(%%3==%%4)
{
%%5
}
}
catch (Exception e) {
e.printStackTrace();
}
finally{
try {
if(rs!=null)
{
rs.close();
stmt.close();
con.close();
} catch (Exception e) {
e.printStackTrace();
}
}
3.显示表格
//import java.awt.*;
//import javax.swing.*;
//import java.sql.*;
//import javax.swing.table.*;
String[] colHeads=%%4;
Connection con=null;
Statement stmt=null;
ResultSet %%6=null;
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url="jdbc:odbc:"+%%1;
con=DriverManager.getConnection(url,%%2,%%3);
stmt=con.createStatement();
%%6=stmt.executeQuery("SELECT count(*) as au_count from "+%%5);
%%6.next();
int iCount=rs.getInt("au_count");
Object[][] data=new Object[iCount][];
int i=0;
%%6=stmt.executeQuery("SELECT * from "+%%5);
while(%%6.next()){
data[i]=new Object[iCount];
data[i][0]=%%6.getString("au_fname");
data[i][1]=%%6.getString("Phone");
data[i][2]=%%6.getString("City");
i++;
}
JTable table=new JTable(data,colHeads);
JScrollPane jsp=new JScrollPane(table);
getContentPane().add(jsp);
}catch(Exception e){
e.printStackTrace();
}
finally{
if(con!=null){
try {
%%6.close();
stmt.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
7.执行命令
//import java.sql.*;
Connection conn;
PreparedStatement pst=null;
try {
conn=DriverManager.getConnection(url);
pst=conn.prepareStatement("Insert Into grade(%%1) Values (?)");
pst.setInt(1,%%2);
//pst.setInt(2,%%2);
pst.addBatch();
pst.executeBatch();
} catch (SQLException e){
e.printStackTrace();
}
finally{
pst.close();
conn.close();
}
❹ 怎样利用JDBC连接并操作Oracle数据库
文件用:ojdbc6.jar
/**
*一个非常标准的连接Oracle数据库的示例代码
*/
publicvoidtestOracle()
{
Connectioncon=null;//创建一个数据库连接
PreparedStatementpre=null;//创建预编译语句对象,一般都是用这个而不用Statement
ResultSetresult=null;//创建一个结果集对象
try
{
Class.forName("oracle.jdbc.driver.OracleDriver");//加载Oracle驱动程序
System.out.println("开始尝试连接数据库!");
Stringurl="jdbc:oracle:thin:@127.0.0.1:1521:XE";//127.0.0.1是本机地址,XE是精简版Oracle的默认数据库的SID
//如果是服务名,则用Stringurl="jdbc:oracle:thin:@127.0.0.1:1521/ORCL
Stringuser="system";//用户名,系统默认的账户名
Stringpassword="147";//你安装时选设置的密码
con=DriverManager.getConnection(url,user,password);//获取连接
System.out.println("连接成功!");
Stringsql="select*fromstudentwherename=?";//预编译语句,“?”代表参数
pre=con.prepareStatement(sql);//实例化预编译语句
pre.setString(1,"刘显安");//设置参数,前面的1表示参数的索引,而不是表中列名的索引
result=pre.executeQuery();//执行查询,注意括号中不需要再加参数
while(result.next())
//当结果集不为空时
System.out.println("学号:"+result.getInt("id")+"姓名:"
+result.getString("name"));
}
catch(Exceptione)
{
e.printStackTrace();
}
finally
{
try
{
//逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
//注意关闭的顺序,最后使用的最先关闭
if(result!=null)
result.close();
if(pre!=null)
pre.close();
if(con!=null)
con.close();
System.out.println("数据库连接已关闭!");
}
catch(Exceptione)
{
e.printStackTrace();
}
}
}
❺ 怎么实现用java远程访问oracle数据库
先期准备:
1、两台电脑必须要联网,能够访问到
2、将oracle的驱动程序拷贝到你的java的电脑上,并设置到环境变量中。
java代码
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DbTest {
public static void main(String[] args) {
Connection conn = null;
PreparedStatement prstm = null;
ResultSet rs = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url="jdbc:oracle:thin:@ip:port:orcl"; //数据库连接字符串,需要替换ip,port,orcl
String user="user"; //用户名,需要替换你的数据库的用户名
String password="pswd"; //密码,需要替换为对应的密码
conn = DriverManager.getConnection(url,user,password); //获取连接
prstm = conn.prepareStatement("SELECT 1 TEST_ID FROM DUAL");
rs = prstm.executeQuery();
while (rs.next()) {
System.out.println("查询结果为:" + rs.getInt("TEST_ID"));
}
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//使用完毕进行相关内容的关闭,注意相关顺序
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (prstm != null) {
try {
prstm.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
❻ 怎么实现用java访问oracle数据库
用JDBC啊,
首先去oracle网站下个java连接oracle的驱动,www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc9201.html
代码列子:
import java.sql.*;
public class TestDBOracle {
public static void main(String[] args)
throws ClassNotFoundException, SQLException
{
Class.forName("oracle.jdbc.driver.OracleDriver");
//
// or
// DriverManager.registerDriver
// (new oracle.jdbc.driver.OracleDriver());
String url = "jdbc:oracle:thin:@//server.local:1521/prod";
// jdbc:oracle:thin:@//host:port/service
// or
// String url = "jdbc:oracle:thin:@server.local:1521:prodsid";
// jdbc:oracle:thin:@host:port:SID
Connection conn =
DriverManager.getConnection(url,"scott", "tiger");
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
ResultSet rset =
stmt.executeQuery("select BANNER from SYS.V_$VERSION");
while (rset.next()) {
System.out.println (rset.getString(1));
}
stmt.close();
System.out.println ("Ok.");
}
}
❼ java怎样通过jdbc来访问oracle数据库的存储过程和存储函数
//存储过程create
or
replace
Procere
countBySal(
p_sal
emp.sal%type,
p_count
OUT
number
)as
begin
select
count(*)
into
p_count
from
emp
where
sal
>=
p_sql;
end
countBySal;
//调用步奏import
java.sql.CallableStatement;
//带哦用存储过程所必须的语句借口
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.Types;public
class
EmpUtil
{
public
static
int
countBySal(double
sal)
throws
Exception{
Class.forName("oracle.jdbc.driver.OracleDriver");
String
url="jdbc:oracle:thin:@localhost:1521:test";
Connection
cn=DriverManager.getConnection(url,
"scott",
"tiger");
String
sql="{call
countBySal(?,?)}";//调用存储过程的语句,call后面的就是存储过程名和需要传入的参数
CallableStatement
cst=cn.prepareCall(sql);
cst.setDouble(1,
sal);//设置in参数的值
cst.registerOutParameter(2,
Types.INTEGER);//注册out参数的类型
cst.execute();
int
result
=
cst.getInt(2);
cst.close();
cn.close();
return
result;
}
public
static
void
main(String[]
args)
{
int
count;
try
{
count
=
EmpUtil.countBySal(3000);
System.out.println("工资在3000元以上的人数为:"+count);
}
catch
(Exception
e)
{
e.printStackTrace();
}
}
❽ 怎么用java连接oracle数据库,需要详细解释
1)首先你要有java连接oracle数据库的驱动类,下载好后导入到工程里
2)代码:
import java.sql.*;
public class JDBCTest {
/**
* @param args
* @throws ClassNotFoundException
*/
public static void main(String[] args)
throws ClassNotFoundException, SQLException{
//1.准备参数
String ip = "192.168.0.26";
String sid = "tarena";
String port = "1521";
String dbUser = "openlab";
String dbPassword = "open123";
String driver
= "oracle.jdbc.driver.OracleDriver";
//2.构造驱动实例
Class.forName(driver);
//3.创建连接
//连接字符串是固定的形式,oracle的形式:
String url
= "jdbc:oracle:thin:@"
+ ip + ":" + port + ":" + sid;
Connection conn
= DriverManager.getConnection
(url, dbUser, dbPassword);
//4.执行SQL语句
String sql = "select id, password, name from user_sd1104 " +
"where id = 1001 and password = '1234'";
Statement stmt = conn.createStatement();
ResultSet rs
= stmt.executeQuery(sql);//执行sql语句
while(rs.next()){
int id = rs.getInt(1);
String pwd = rs.getString(2);
String name = rs.getString(3);
System.out.println("welcome," + name);
}
rs.close();
stmt.close();
conn.close();
}
}
❾ java jdbc连接oracle数据库步骤
跟连接mysql一样的;
如果java类连接,网上搜索一个连接代码即可,若是controller,在里面写上
spring.datasource.secondary.jdbc-url=
spring.datasource.secondary.username=
spring.datasource.secondary.password=
oracle同理
❿ 浅谈如何利用Java的JDBC操作Oracle数据库
JavaJDBC中操作Oracle数据库,经过以下几个步骤
1.将OracleHome/jdbc/lib/目录的所有文件添加到jre/lib/ext目录;(配置JavaJDBC驱动)
2.创建odbc源,在控制面板=》管理工具=》数据源(odbc)中添加DSN,比如取名为OracleDSN,选择一个Service,输入用户名密码,测试连接,若通过说明成功;
3.在程序中加载jdbc驱动(下面的例子用的是JdbcOdbc驱动),建立连接,执行Query.
下面是连接OracleDSNODBCdatasource的一个类,方法Test()连接数据库后,读取tbljob的内容,并显示所有记录。
importjava.sql.*;
classOracleConnect{
publicstaticvoidTest(){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Stringurl="jdbc:odbc:OracleDSN";
Connectionconn=DriverManager.getConnection(url,"system","system_passwd");
Statementstmt=conn.createStatement();
ResultSetrset=stmt.executeQuery("select*fromtbljob;");
while(rset.next())
System.out.println(rset.getString(1)+""+rset.getString(2));
rset.close();
stmt.close();
conn.close();
}catch(Exceptione){
e.printStackTrace();
}
}
}