📄 implementuserdao.java
字号:
package com.softfz.jn0708.dao.oracle;
import java.io.Serializable;
import java.net.URL;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.swing.ImageIcon;
import com.softfz.jn0708.dao.DBConnection;
import com.softfz.jn0708.dao.intef.IUserDAO;
import com.softfz.jn0708.images.Images;
import com.softfz.jn0708.srcpackage.TUser;
/**-----------------------------------------------------------------------------
*
*
* 实现类,实现了IUserDAO接口的一下方法:
*
* ======查询 、添加 、删除、 修改 等方法======
*
*
*-----------------------------------------------------------------------------
*/
public class ImplementUserDAO implements IUserDAO,Serializable {
private static Connection con = null;//连接对象
private static Statement stmt = null;//statement对象 =发送SQL语句
private static PreparedStatement ps = null;
//TUser user = new TUser();
/**=========================================================================
* Connection数据库连接
*=========================================================================
*/
public ImplementUserDAO(){
if (con == null){
try {
con = DBConnection.Connect();
stmt = con.createStatement();
} catch (SQLException e) {
e.printStackTrace();
System.out.println("返回statement对象时发生错误");
}
}
}
/**=========================================================================
* 实现添加接口
*=========================================================================
*/
public boolean add(TUser user) {
try {
ps = con.prepareStatement("insert into tuser(UNO,UPASSWORD,UNAME,UTERM,USEX,UICONID,UAGE,DNO,UPHONE,UADDRESS,ULASTLOGINTIME,UREGDATE,ULOGINCOUNT,UISONLINE)values(?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
ps.setString(1,user.getUNO());
ps.setString(2,user.getUPASSWORD());
ps.setString(3,user.getUNAME());
ps.setString(4,user.getUTERM());
ps.setString(5,user.getUSEX());
ps.setString(6,user.getUICONID());
ps.setString(7,user.getUAGE());
ps.setString(8,user.getDNO());
ps.setString(9,user.getUPHONE());
ps.setString(10,user.getUADDRESS());
ps.setString(11,user.getULASTLOGINTIME());
ps.setString(12,user.getUREGDATE());
ps.setString(13,user.getULOGINCOUNT());
ps.setString(14,user.getUISONLINE());
ps.executeUpdate();
return true;
}catch (SQLException e){
e.printStackTrace();
return false;
}
}
/**=========================================================================
* 实现删除接口
*=========================================================================
*/
public boolean del(String uno) {
try {
ps = con.prepareStatement("delete from tuser where uno =?");
ps.setString(1,uno);
ps.executeUpdate();
return true;
} catch (SQLException e) {
e.printStackTrace();
return false;
}
}
/**=========================================================================
* 实现修改接口
*=========================================================================
*/
public boolean modify(TUser user) {
try {
ps = con.prepareStatement("update tuser set UPASSWORD=?,UNAME=?,UTERM=?,USEX=?,UICONID=?,UAGE=?,DNO=?,UPHONE=?,UADDRESS=?,ULASTLOGINTIME=?,UREGDATE=?,ULOGINCOUNT=?,UISONLINE=? where UNO=?");
ps.setString(1,user.getUPASSWORD());
ps.setString(2,user.getUNAME());
ps.setString(3,user.getUTERM());
ps.setString(4,user.getUSEX());
ps.setString(5,user.getUICONID());
ps.setString(6,user.getUAGE());
ps.setString(7,user.getDNO());
ps.setString(8,user.getUPHONE());
ps.setString(9,user.getUADDRESS());
ps.setString(10,user.getULASTLOGINTIME());
ps.setString(11,user.getUREGDATE());
ps.setString(12,user.getULOGINCOUNT());
ps.setString(13,user.getUISONLINE());
ps.setString(14,user.getUNO());
ps.executeUpdate();
return true;
}catch (SQLException e){
e.printStackTrace();
return false;
}
}
/**
* 获取在线列表列名
*/
public List getOnlineColumnNames() {
List list = new ArrayList();
list.add("编号");
list.add("姓名");
list.add("昵称");
list.add("性别");
list.add("头像");
list.add("年龄");
list.add("部门");
list.add("电话");
list.add("地址");
list.add("注册日期");
return list;
}
/**
* 获取在线列表行数据
*/
public List getOnlineRowData() {
List list = new ArrayList();
list = select("","","","1");
URL url;
ImageIcon icon;
for(int i=0; i<list.size();i++){
String iconid = (String)((List)list.get(i)).get(4);
url = Images.class.getResource("head/"+iconid+".gif");
icon = new ImageIcon(url);
((List)list.get(i)).set(4,icon);
}
return list;
}
/**
* 获取所有列名
*/
public List getColumnNames() {
List list = new ArrayList();
list.add("编号");
list.add("姓名");
list.add("昵称");
list.add("性别");
list.add("头像");
// list.add("密码");
list.add("年龄");
list.add("部门");
list.add("电话");
list.add("地址");
list.add("注册日期");
list.add("最后一次上线日期");
list.add("登录次数");
return list;
}
/**
* 获取所有行数据
*/
public List getRowData() {
List list = new ArrayList();
list = select("","","","");
URL url;
ImageIcon icon;
for(int i=0; i<list.size();i++){
String iconid = (String)((List)list.get(i)).get(4);
url = Images.class.getResource("head/"+iconid+".gif");
icon = new ImageIcon(url);
((List)list.get(i)).set(4,icon);
}
return list;
}
/**
* 获取列的最大值
*/
public String getMaxUno() {
Connection conn = DBConnection.Connect();
PreparedStatement ps = null;
ResultSet rs = null;
String s = null;
try {
ps = conn.prepareStatement("select trim(to_char(to_number(nvl(max(UNO),0))+1,'0000'))"
+ " as MaxUserId from TUSER");
rs = ps.executeQuery();
while (rs.next()) {
s = rs.getString(1);
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
DBConnection.Close(rs);
DBConnection.Close(ps);
DBConnection.Close(conn);
}
return s;
}
/**
* 修改用户在线状态
*/
public void modifyLoginUser(String UNO, String Online) {
PreparedStatement ps = null;
String sql=null;
try {
if (Online.equals("1")){
sql="UPDATE TUSER SET UISONLINE=1,ULOGINCOUNT=ULOGINCOUNT+1," +
"ULASTLOGINTIME=TO_DATE(?,'yyyy-mm-dd HH24:mi:ss') where UNO="+UNO;
}else{
sql="UPDATE TUSER SET UISONLINE=0 ";
if (!UNO.equals("")){
sql=sql+"WHERE UNO="+UNO;
}
}
ps=con.prepareStatement(sql);
if (Online.equals("1")){
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
ps.setString(1, sdf.format(new Date()));
}
ps.executeUpdate();
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
} finally {
// DBConnection.Close(ps);
// DBConnection.Close(con);
}
}
/**
* 用户查询
*/
public List select(String UNO, String UNAME, String DNO,String UISONLINE) {
List list = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql="select TU.UNO,TU.UNAME,TU.UTERM,TU.USEX,TU.UICONID,TU.UAGE,TDP.DNAME,TU.UPHONE,TU.UADDRESS,TU.UREGDATE,TU.ULASTLOGINTIME,TU.ULOGINCOUNT,TU.UISONLINE,TDP.DNO,TU.UICONID AS ICON_ID,TU.UPASSWORD from tuser TU INNER JOIN TDEPARTMENT TDP ON TU.DNO = TDP.DNO WHERE 1 = 1";
if (!UNO.equals("")){
sql=sql+" and TU.UNO = "+"'"+UNO+"'";
}
if (!UNAME.equals("")){
sql=sql+" and TU.UNAME = "+"'"+UNAME+"'";
}
if (!DNO.equals("")){
sql=sql+" and TDP.DNO = "+"'"+DNO+"'";
}
if (!UISONLINE.equals("")){
sql=sql+" and TU.UISONLINE = "+"'"+UISONLINE+"'";
}
sql = sql + " order by TU.UNO ";
try {
ps = con.prepareStatement(sql);
rs = ps.executeQuery();
int count = rs.getMetaData().getColumnCount();
list = new ArrayList();
while(rs.next()){
List row = new ArrayList();
for(int i = 1; i <= count; i++){
row.add(rs.getString(i));
}
list.add(row);
}
} catch (SQLException e) {
// TODO 自动生成 catch 块
e.printStackTrace();
}
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -