如何使用java对oracle数据库进行增删查改?

我在公司实习 老总要求用java做oracle数据库的增删查改
我现在是搞的昏头转向的,求个代码给我看看
还有使用什么工具也顺便说下,谢谢大家了!!!!!

用eclipse
首先在oracle文件下找到jdbc文件,里面的lib文件下有个class12.zip
在eclipse里新建个项目,建好后在左边右击那个项目图标,选择属性(最下面的),里面有个java build path,点进去,找到add external jars按键,点一下,把那个class12.zip加载进来,然后可以开始写代码了。

我的代码如下:
import java.sql.*;

public class connect {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}catch(ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = null;
Statement stmt = null;
ResultSet rs = null;

try{
String url="jdbc:oracle:thin:@服务器ip地址:端口号:数据库名字";
String user="用户名";
String password="密码";
String str="INSERT INTO ZZZ_2 VALUES('041110018','JHDK')";

con = java.sql.DriverManager.getConnection(url,user,password);
// 创建状态
stmt = con.createStatement();
// 执行SQL语句,返回结果集
//int rowcount = stmt.executeUpdate(str);
int j = stmt.executeUpdate("update ZZZ_2 set NAME='dbt' where ID=21");
int k = stmt.executeUpdate("delete from ZZZ_2 where ID=41110020");
rs = stmt.executeQuery("SELECT * FROM ZZZ_2");
// 对结果集进行处理

while (rs.next()) {
int id = rs.getInt("ID");
String name = rs.getString("NAME");
//Integer age = rs.getObject("age") == null ? null : rs.getInt("age");
System.out.println(id + ": " + name);
} }catch(SQLException e){
e.printStackTrace();}

// 释放资源
finally{
try{
rs.close();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
stmt.close();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try{
con.close();
}catch(SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

}

注意,上面的ip地址什么的要填对,ZZZ_2是我随便建的表,你改成自己的表名就行了
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-09-02
用eclipse
public class Text {
public static final void main(String args[]){
Connection con = null;
try {
//1,加载驱动程序
Class.forName("oracle.jdbc.driver.OracleDriver");
//2,连接字符串
String s = "jdbc:oracle:thin:@localhost:1521:shitou";
//3,获得数据库连接
con = DriverManager.getConnection(s,"system","abc");
//4,获得语句对象
Statement stat = con.createStatement();
//5,执行sql
ResultSet rs = stat.executeQuery("select * from comp"); //查数据

对人员表TUser的业务逻辑:
package bean;

import java.sql.*;
import java.util.ArrayList;
import bean.UserBean;
import bean.DBUtil;
public class UserDAO{
public UserDAO() {
}

/*更新数据,通过传递许更新的对象以及SQL语句,对数据进行添加、删除或更新操作
*obj为实体类的对象,sql为SQL语句
*/
public boolean insertUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一条记录
sql="insert into TUser values(user_sequence.nextval,?,?,?,?,?)";
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.prepareStatement(sql);
//给SQL语句内的"?"赋值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());

//返回执行更新操作后受影响的行数
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);

}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}

/*修改一条数据
*直接调用insertUser()方法
*/
public boolean updateUser(UserBean ub){
boolean b=false;
Connection conn=null;
PreparedStatement stmt=null;
String sql=null;
try{
//插入一条记录
sql="update TUser set Mobile_Number=?,Roaming_Status=?,Com_Level=?,Customer_ID=?,Account_ID=? where User_ID="+ub.getUser_ID();
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.prepareStatement(sql);
//给SQL语句内的"?"赋值
//stmt.setInt(1,ub.getUser_ID());
stmt.setString(1,ub.getMobile_Number());
stmt.setString(2,ub.getRoaming_Status());
stmt.setString(3,ub.getCom_Level());
stmt.setInt(4,ub.getCustomer_ID());
stmt.setInt(5,ub.getAccount_ID());

//返回执行更新操作后受影响的行数
int rst=stmt.executeUpdate();
if(rst!=0){
b=true;
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);

}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}

/*删除一条记录
*@返回boolean类型的标志,通过传递UserBean的实例对象,得到该对象的User_ID
*/
public boolean deleteUser(UserBean ub){
boolean b=false; //测试变量,无实在意义
Connection conn=null;
Statement stmt=null;
String sql=null;
int id=0;
try{
id=ub.getUser_ID();
//删除记录为id的记录
sql="delete from TUser where User_ID="+id;
//创建一个连接
conn=DBUtil.getConnection();
//创建PreparedStatement的对象
stmt=conn.createStatement();
//检测删除的对象是否存在
if(getUser(id)!=null&&getUser(id).getUser_ID()==id){
//返回执行更新操作后受影响的行数
int rst = stmt.executeUpdate(sql);
if (rst > 0) {
b = true;
}
}else{
System.out.println("此条记录不存在!");
}
//关闭相关的连接
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
return b;
}

/*查询数据/得到数据
*str为数据库对应的列名,sql为传入的SQL语句
*/
public UserBean getUser(int user_id){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
try{
//从数据库中查询User_ID值为user_id的记录
sql="select * from TUser where User_ID="+user_id;
//创建一个连接
conn=DBUtil.getConnection();
//创建Statement的对象
stmt=conn.createStatement();
//实例化UserBean的一个对象
user =new UserBean();
//执行操作,返回一个结果集
rs=stmt.executeQuery(sql);
//从结果集中读取一条记录,并且将对应的属性值赋值给user

if(rs.next()){
//System.out.println(rs.getString("User_Address"));
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//System.out.println(user.getUser_ID());
}
//关闭相关的连接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回user对象
// System.out.println(user.getUser_ID());
return user;
}

/*查询数据
*str为数据库对应的列名,sql为传入的SQL语句
*@返回一个数据列表
*/
public ArrayList getUsers(){
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
String sql=null;
UserBean user=null;
ArrayList list=null;
try{
//从数据库中查询User_ID值为user_id的记录
sql="select * from TUser";
//创建一个连接
conn=DBUtil.getConnection();
//创建Statement的对象
stmt=conn.createStatement();

list=new ArrayList();
//执行操作,返回一个结果集
rs=stmt.executeQuery(sql);
//从结果集中循环读取记录,并且将对应的属性值赋值给user
while(rs.next()){
//实例化UserBean的一个对象
user =new UserBean();
user.setUser_ID(rs.getInt("User_ID"));
user.setMobile_Number(rs.getString("Mobile_Number"));
user.setRoaming_Status(rs.getString("Roaming_Status"));
user.setCom_Level(rs.getString("Com_Level"));
user.setCustomer_ID(rs.getInt("Customer_ID"));
user.setAccount_ID(rs.getInt("Account_ID"));
//将user添加到list中
list.add(user);
}
//关闭相关的连接
DBUtil.closeResultSet(rs);
DBUtil.closeStatement(stmt);
DBUtil.closeConnection(conn);
//捕获异常
}catch(SQLException se){
se.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
//返回list对象
return list;
}
}

********************与数据库的连接类DBUtil:
package bean;

import java.sql.*;
public class DBUtil {

static String serverName="localhost"; //主机地址
static String sDBDriver="oracle.jdbc.driver.OracleDriver"; //oracle驱动
static String dbInstance="cloud"; //数据库的名称
static String sConnStr="jdbc:oracle:thin:@"+serverName+":1521:"+dbInstance; //数据库的连接字符串

static String dbUser="system"; //数据库的登陆名
static String userPwd="manager"; //数据库的登陆密码

/*
*得到一个Connection对象
*@return java.sql.Connection
*/
public static Connection getConnection(){
Connection conn=null;
try{
Class.forName(sDBDriver);
conn=DriverManager.getConnection(sConnStr,dbUser,userPwd);
}catch(ClassNotFoundException e){
e.printStackTrace();
}catch(SQLException se){
se.printStackTrace();
}
return conn;
}

//关闭指定的结果集rs
public static void closeResultSet(ResultSet rs){
if(rs!=null){
try{
rs.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}

//关闭指定的Statement
public static void closeStatement(Statement stmt){
if(stmt!=null){
try{
stmt.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}

//关闭连接conn
public static void closeConnection(Connection conn){
if(conn!=null){
try{
conn.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}
}

自己不想写,网上这样的内容太多,自己找一下

如何使用java对oracle数据库进行增删查改?
首先在oracle文件下找到jdbc文件,里面的lib文件下有个class12.zip 在eclipse里新建个项目,建好后在左边右击那个项目图标,选择属性(最下面的),里面有个java build path,点进去,找到add external jars按键,点一下,把那个class12.zip加载进来,然后可以开始写代码了。我的代码如下:import java.sql....

用java做界面连接oracle数据库实现增删改查功能,具体步骤怎么做?
如果不用ORM框架,那么直接引入ojdbc6.jar 驱动包,然后在代码中JDBC配置;然后可以使用jdbc实现增删改查,比如下面代码 ResultSet rs = null; Statement stmt = null; Connection conn = null; try { Class.forName("oracle.jdbc.driver.oracleDriver"); \/\/new oracle.jdbc.driver.ora...

java应用程序操作oracle数据库的问题
import java.sql.*;public class TextOracle_AddTemplate { public static void main(String ags[]){ add();} public static void add(){ Connection ct = null;\/\/与特定数据库的连接(会话)。在连接上下文中执行 SQL 语句并返回结果 PreparedStatement ps = null;\/\/表示预编译的 SQL 语句的对象...

oracle数据库id不自动增长,用java语言怎么解决
oracle的sequence是一种自增长的值,当使用时可以根据你的需要,逐增1或者是10或者是你想的任何值。在使用序列的时候,用 emp_sequence.nextval(序列名.nextval)2、在使用Java实现的时候,一般都是从数据库中作一次查询:select (max(id)+1) id from 表 然后通过最大id+1来实现类控制id,最好的...

java的jdbc中如何实现save or update功能?
一般的解决方案就是现根据id查一次,如果有就更新,没有就插入,这是最直观的,也是最方便的。如果你数据库是oracle,有一种方法可以实现这个操作,merge关键字,语法大概是这样:MERGE INTO 目标表 a USING(SELECT FROM 从表 ) b on (=条件)when matched then update set when not matched then...

JAVA程序怎样实现Oracle数据库备份和还原
file=d:\\daochu.dmp 将上面的备份、还原命令可以新建成bat文件。然后在java中可以运行bat文件 Runtime.getRuntime().exec("cmd.exe \/C start D:\\\\test.bat");这样就实现了oracle的备份与还原。当然这里只是提供一个大概的思路,实际运用中可能需要备份某些数据,还原到其他数据库等。

在java中如何向oracle数据库表中insert一条带序列id的语句?
首先:你可以创建一个sequence 如:create sequence testsequence 然后在相应列上调用sequence的方法NEXTVAL 如:testsequence.NEXTVAL id 是testsequence.NEXTVAL 了。看看对你有没有什么帮助。

java如何实现定时从数据库查询新增的数据,?
第一种,开个线程,定式扫描,比如每一分钟查询一次数据库,将前后数据做比对(比对方法可以在java端先把第一次的数据存到一个集合中,然后每次查询集合之后,将两次的内容在java端作比较)第二种,在数据库端,比如oracle数据库,对这个要监控的表A建个触发器,这个表中如果有数据改变,包括楼主要的...

如何使用java代码向oracle数据库一次性插入多条数据
Class.forName("oracle.jdbc.driver.OracleDriver");String url = "jdbc:oracle:thin:@你的主机ip :1521:orcl";\/\/ 设置连接字符串String username = "你的用户名";String password = "你的密码";Connection con=java.sql.DriverManager.getConnection(url,user,password);Statement stmt = con....

大虾请进:oracle数据库超大数据量的处理
商城 手机答题 我的 大虾请进:oracle数据库超大数据量的处理 一个表中有1000万以上的数据,要对其进行10万次以上的增删查改的操作,请问如何优化java程序对数据库的操作?... 一个表中有1000万以上的数据,要对其进行10万次以上的增删查改的操作,请问如何优化java程序对数据库的操作? 展开  我来答 1...

相似回答
大家正在搜