⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operatordao.java

📁 基于jsp的固定资产管理系统,自己做的
💻 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 + -