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