java oracle 增删改查操作

用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(); 
} 
} 
} 
} 

 

posted @ 2012-08-16 23:00  water0504  阅读(834)  评论(0)    收藏  举报