📄 operatordao.java
字号:
package DAO;
import java.sql.*;
import java.util.ArrayList;
import java.util.Iterator;
import VO.Operator_Class;
public class OperatorDAO {
//添加操作员表,成功返回正值,若已经存在此操作员id返回0,失败返回-1
public int addOperator(Operator_Class v)
{
String ID=v.getID();
String pwd=v.getPwd();
String name=v.getName();
name=EncodingChange.getReadStr(name);
String authority=v.getAuthority();
int k=-1;
String sql="insert into operator values(?,?,?,?)";
ConnectTo conto=new ConnectTo();
Connection conn=conto.connect();
PreparedStatement pstm=null;
Operator_Class oc=new Operator_Class();
if(conn!=null)
{
ArrayList<Operator_Class> al=this.getAllOperator();
if(al==null)
{
return k;
}
else
{
Iterator<Operator_Class> it=al.iterator();
while(it.hasNext())
{
oc=it.next();
String IDtemp=oc.getID();
if(ID.equals(IDtemp))
{
k=0;
return k;
}
}
}
try{
pstm=conn.prepareStatement(sql);
pstm.setString(1,ID);
pstm.setString(2,name);
pstm.setString(3,pwd);
pstm.setString(4,authority);
k=pstm.executeUpdate();
pstm.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
try
{
pstm.close();
conn.close();
return k;
}catch(Exception e1){e1.printStackTrace();}
}
}
return k;
}
//查询数据库,返回al,出错al=null
public ArrayList<Operator_Class> getAllOperator()
{
ArrayList<Operator_Class> al=null;
String sql="select ID,name,pwd,authority from operator order by ID ";
ConnectTo conto=new ConnectTo();
Connection conn=conto.connect();
PreparedStatement pstm=null;
if(conn!=null)
{
try{
pstm=conn.prepareStatement(sql);
ResultSet rs=pstm.executeQuery();
al=new ArrayList<Operator_Class>();
while(rs.next())
{
Operator_Class oc=new Operator_Class();
String ID=rs.getString("ID");
String name=rs.getString("name");
String authority=rs.getString("authority");
oc.setID(ID);
oc.setName(name);
oc.setAuthority(authority);
al.add(oc);
}
pstm.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
try
{
pstm.close();
conn.close();
}catch(Exception e1){e1.printStackTrace();}
}
}
return al;
}
//选择ID号的操作员,成功返回含ID号的Operator_Class,失败Operator_Class=null
public Operator_Class selectOperator(String ID)
{
String sql="select pwd,name,authority from operator where ID='"+ID+"'";
ConnectTo conto=new ConnectTo();
Connection conn=conto.connect();
PreparedStatement pstm=null;
Operator_Class oc=null;
if(conn!=null)
{
try{
pstm=conn.prepareStatement(sql);
ResultSet rs=pstm.executeQuery();
oc=new Operator_Class();
while(rs.next())
{
String pwd=rs.getString("pwd");
String name=rs.getString("name");
String authority=rs.getString("authority");
oc.setPwd(pwd);
oc.setName(name);
oc.setAuthority(authority);
}
}
catch(Exception e)
{
e.printStackTrace();
try
{
pstm.close();
conn.close();
}
catch(Exception e1)
{
e1.printStackTrace();
}
}
}
return oc;
}
//修改操作员密码,名字,成功返回正值,失败返回-1
public int modifyOperator(Operator_Class v)
{
int k=-1;
String sql="update operator set pwd='"+v.getPwd()+"',"+"name='"+v.getName()+"',"+"authority='"+v.getAuthority()+"' "+"where ID='"+v.getID()+"'";
ConnectTo conto=new ConnectTo();
Connection conn=conto.connect();
PreparedStatement pstm=null;
if(conn!=null)
{
try{
pstm=conn.prepareStatement(sql);
k=pstm.executeUpdate();
pstm.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
try
{
pstm.close();
conn.close();
return k;
}catch(Exception e1){e1.printStackTrace();}
}
}
return k;
}
//返回最后一个操作员的下一个应该的id,失败id=null;
public String getLastID()
{
ArrayList<Operator_Class> al=this.getAllOperator();
Operator_Class oc=new Operator_Class();
String lastID=null;
if(al!=null)
{
if(al.size()!=0)
{
oc=al.get(al.size()-1);
lastID=oc.getID();
int IDtemp=Integer.parseInt(lastID.substring(1))+1;
if(IDtemp<10)
{
lastID=lastID.substring(0,1)+"0000000"+IDtemp;
}
else if(IDtemp<100)
{
lastID=lastID.substring(0,1)+"000000"+IDtemp;
}
else if(IDtemp<1000)
{
lastID=lastID.substring(0,1)+"00000"+IDtemp;
}
else if(IDtemp<10000)
{
lastID=lastID.substring(0,1)+"0000"+IDtemp;
}
else if(IDtemp<100000)
{
lastID=lastID.substring(0,1)+"000"+IDtemp;
}
else if(IDtemp<1000000)
{
lastID=lastID.substring(0,1)+"00"+IDtemp;
}
}
else
{
lastID="A00000001";
return lastID;
}
}
else lastID="A00000001";
return lastID;
}
//操作员或管理员登陆时验证,ID或密码错误返回-1,是操作员则返回0,管理员则返回1
public int verifyOperator(Operator_Class v)
{
int k=-1;
String pwdinput=v.getPwd();
String ID=v.getID();
ConnectTo conto=new ConnectTo();
Connection conn=conto.connect();
PreparedStatement pstm=null;
String sql="select pwd,authority from operator where ID='"+ID+"'";
String authority=null;
if(conn!=null)
{
try{
pstm=conn.prepareStatement(sql);
ResultSet rs=pstm.executeQuery();
if(rs!=null&&rs.next())
{
authority=rs.getString("authority");
String pwd=rs.getString("pwd");
if(!pwdinput.equals(pwd))
{
return k;
}
else
{
if(authority.equals("1"))
{
k=1;
}
else
{
k=0;
}
}
}
else
return k;
pstm.close();
conn.close();
}
catch(Exception e)
{
e.printStackTrace();
try
{
pstm.close();
conn.close();
}catch(Exception e1){e1.printStackTrace();}
}
}
return k;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -