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

} 

} 

} 

} 

 

你可能感兴趣的:(oracle)