如何使用JDBC连接oracle数据库

如何使用JDBC连接oracle数据库,第1张

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()

}

}

S1、下载ojdbc14.jar驱动文件,并将该文件放到你的项目中去;

S2、在MyEclipse中的项目中添加Oracle驱动程序:在项目名上右键-> Build Path ->Add External Archiver然后选择你刚才放在项目中的文件, 点确定即可。

S3、打开Oracle的各项服务,并在Oracle中建一张表。

S4、编写MyEclipse与Oracle的连接程序:

[cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.Statement

import java.sql.* 

public class JDBC_Test {

//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库

//1521为连接的端口号

private static String url="jdbc:oracle:thin:@localhost:1521:orcl"

//system为登陆oracle数据库的用户名

private static String user="system"

//manager为用户名system的密码

private static String password="manager"

public static Connection conn

public static PreparedStatement ps

public static ResultSet rs

public static Statement st 

//连接数据库的方法

public void getConnection(){

try {

//初始化驱动包

Class.forName("oracle.jdbc.driver.OracleDriver")

//根据数据库连接字符,名称,密码给conn赋值

conn=DriverManager.getConnection(url, user, password)

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace()

}

}

//测试能否与oracle数据库连接成功

public static void main(String[] args) {

JDBC_Test basedao=new JDBC_Test()

basedao.getConnection()

if(conn==null){

System.out.println("与oracle数据库连接失败!")

}else{

System.out.println("与oracle数据库连接成功!")

}

}

}

</SPAN>

import java.sql.Connection

import java.sql.DriverManager

import java.sql.PreparedStatement

import java.sql.ResultSet

import java.sql.Statement

import java.sql.* 

public class JDBC_Test {

//orcl为oracle数据库中的数据库名,localhost表示连接本机的oracle数据库

//1521为连接的端口号

private static String url="jdbc:oracle:thin:@localhost:1521:orcl"

//system为登陆oracle数据库的用户名

private static String user="system"

//manager为用户名system的密码

private static String password="manager"

public static Connection conn

public static PreparedStatement ps

public static ResultSet rs

public static Statement st 

//连接数据库的方法

public void getConnection(){

try {

//初始化驱动包

Class.forName("oracle.jdbc.driver.OracleDriver")

//根据数据库连接字符,名称,密码给conn赋值

conn=DriverManager.getConnection(url, user, password)

} catch (Exception e) {

// TODO: handle exception

e.printStackTrace()

}

}

//测试能否与oracle数据库连接成功

public static void main(String[] args) {

JDBC_Test basedao=new JDBC_Test()

basedao.getConnection()

if(conn==null){

System.out.println("与oracle数据库连接失败!")

}else{

System.out.println("与oracle数据库连接成功!")

}

}

}

S5、如果上述的连接已经建立,就可以利用JDBC中的Java API对数据库进行 *** 作了,具体的查询,插入,删除,更新 *** 作如下:

[cpp] view plaincopyprint?<SPAN style="FONT-SIZE: 16px">代码转载自:http://blog.csdn.net/cxwen78/article/details/6863696     

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

public class JDBC_Test {

// 创建静态全局变量

static Connection conn

static Statement st

public static void main(String[] args) {

insert()   //插入添加记录

update()   //更新记录数据

delete()   //删除记录

query()    //查询记录并显示

}

/* 插入数据记录,并输出插入的数据记录数*/

public static void insert() {

conn = getConnection() // 首先要获取连接,即连接到数据库

try {

String sql = "INSERT INTO staff(name, age, sex,address, depart, worklen,wage)"

+ " VALUES ('Tom1', 32, 'M', 'china','Personnel','3','3000')"  // 插入数据的sql语句

st = (Statement) conn.createStatement()    // 创建用于执行静态sql语句的Statement对象

int count = st.executeUpdate(sql)  // 执行插入 *** 作的sql语句,并返回插入数据的个数

System.out.println("向staff表中插入 " + count + " 条数据") //输出插入 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("插入数据失败" + e.getMessage())

}

}

/* 更新符合要求的记录,并返回更新的记录数目*/

public static void update() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "update staff set wage='2200' where name = 'lucy'"// 更新数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

int count = st.executeUpdate(sql)// 执行更新 *** 作的sql语句,返回更新数据的个数

System.out.println("staff表中更新 " + count + " 条数据")      //输出更新 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("更新数据失败")

}

}

/* 查询数据库,输出符合要求的记录的情况*/

public static void query() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "select * from staff"     // 查询数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

ResultSet rs = st.executeQuery(sql)    //执行sql查询语句,返回查询数据的结果集

System.out.println("最后的查询结果为:")

while (rs.next()) { // 判断是否还有下一个数据

// 根据字段名获取相应的值

String name = rs.getString("name")

int age = rs.getInt("age")

String sex = rs.getString("sex")

String address = rs.getString("address")

String depart = rs.getString("depart")

String worklen = rs.getString("worklen")

String wage = rs.getString("wage")

//输出查到的记录的各个字段的值

System.out.println(name + " " + age + " " + sex + " " + address

+ " " + depart + " " + worklen + " " + wage)

}

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("查询数据失败")

}

}

/* 删除符合要求的记录,输出情况*/

public static void delete() {

conn = getConnection() //同样先要获取连接,即连接到数据库

try {

String sql = "delete from staff  where name = 'lili'"// 删除数据的sql语句

st = (Statement) conn.createStatement()    //创建用于执行静态sql语句的Statement对象,st属局部变量

int count = st.executeUpdate(sql)// 执行sql删除语句,返回删除数据的数量

System.out.println("staff表中删除 " + count + " 条数据\n")    //输出删除 *** 作的处理结果

conn.close()   //关闭数据库连接

} catch (SQLException e) {

System.out.println("删除数据失败")

}

}

/* 获取数据库连接的函数*/

public static Connection getConnection() {

Connection con = null  //创建用于连接数据库的Connection对象

try {

Class.forName("com.mysql.jdbc.Driver")// 加载Mysql数据驱动

con = DriverManager.getConnection(

"jdbc:mysql://localhost:3306/myuser", "root", "root")// 创建数据连接

} catch (Exception e) {

System.out.println("数据库连接失败" + e.getMessage())

}

return con //返回所建立的数据库连接

}

}

</SPAN> 

JDBC连接各种数据库的方法(经典)

1)连接Oracle 8/8i/9i/10g/11g(thin模式)

Class.forName("oracle.JDBC.driver.OracleDriver").newInstance()

String url="JDBC:oracle:thin:@localhost:1521:orcl" //orcl为Oracle数据库的SID

String user="test"

String password="test"

Connection con=DriverManager.getConnection(url,user,password)

2)连接DB2数据库

Class.forName("com.ibm.db2.jcc.DB2Driver")

String url="JDBC:db2://localhost:5000/testDb"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

3)连接MySQL数据库

Class.forName("com.mysql.jdbc.Driver")

String url="JDBC:mysql://localhost:8080/testDB"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

4)连接SQL Server2000数据库

Class.forName("com.microsoft.JDBC.sqlserver.SQLServerDriver")

String url="JDBC:microsoft:sqlserver://localhost:1433DatabaseName=testDb"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

5)连接PostgreSQL数据库

Class.forName("org.postgresql.Driver")

String url="JDBC:postgresql://localhost/testDb"

String user="test"String password="test"

Connection con=DriverManager.getConnection(url,user,password)

6)连接Access数据库

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

String url="JDBC:odbc:Driver={Microsoft Access Driver (*.mdb)}DBQ="+application.getRealPath("/Data/testDb/mdb")

Connection conn=DriverManager.getConnection(url,"","")

7连接Sybase数据库

Class.forName("com.sybase.JDBC.SybDriver")

String url="JDBC:sybase:Tds:localhost:5007/testDb"

Properties pro=System.getProperties()

pro.put("user","userId")

pro.put("password","user_password")

Connection con=DriverManager.getConnection(url,pro)

8连接informix数据库

Class.forName("com.informix.JDBC.ifxDriver")

String url="JDBC:informix-sqli:localhost:1533/testDb:INFORMIXSERVER=myserver"user=testUserpassword=testpassword"Connection con=DriverManager.getConnection(url)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9971291.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存