import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
class Sql {
/*
* 更新数据,通过传递许更新的对象以及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;
}
}
}
增删改查Dao方法和oral连接.rar
需积分: 8 58 浏览量
2009-01-09
09:42:32
上传
评论
收藏 2KB RAR 举报
qwerty123501029
- 粉丝: 28
- 资源: 31
最新资源
- C语言基础-C语言编程基础之Leetcode编程题解之第30题串联所有单词的子串.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第29题两数相除.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第28题找出字符串中第一个匹配项的下标.zip
- 实验报告模板(1).docx
- C语言基础-C语言编程基础之Leetcode编程题解之第26题删除有序数组中的重复项.zip
- C语言基础-C语言编程基础之Leetcode编程题解之第25题K个一组翻转链表.zip
- hnu计算机系统作业-计算机系统基础课程大作业.zip
- 树莓派app.apk
- C++的基于同态加密技术的匿名电子投票系统源码.zip
- SW建模格式图.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈