求java增删改查例题!!

Python019

求java增删改查例题!!,第1张

***********对人员表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()

}

}

}

}

于基本数据类型量,按其取值是否可改变又分为常量和变量两种。在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。

整型量包括整型常量、整型变量。

3.2.1常量和符号常量

在程序执行过程中,其值不发生改变的量称为常量。

?直接常量(字面常量):

?整型常量:12、0、-3;

?实型常量:4.6、-1.23;

?字符常量:‘a’、‘b’。

?标识符:用来标识变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。

?符号常量:用标示符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。

符号常量在使用之前必须先定义,其一般形式为: