第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();
}
}
}
}
自己不想写,网上这样的内容太多,自己找一下