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

📄 powerdao.java

📁 一个jsp的oa系统,里面有很多亮点学习!
💻 JAVA
字号:
package com.oa.lp.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.List;

import com.oa.lp.model.Menu;
import com.oa.lp.model.Power;
import com.oa.lp.util.DTOPopulator;

public class PowerDAO {

	private Connection conn;
	public Connection getConn() {
		return conn;
	}

	public void setConn(Connection conn) {
		this.conn = conn;
	}
	/**
	 * 添加权限
	 * @param power
	 * @throws SQLException 
	 */
	public void addPower(Power power) throws SQLException{
		String sql = "insert into SYS_POWER(MENU_ID,POWER_NAME,POWER_DESCR," +
					 "POWER_STATE,POWER_URL)values(?,?,?,?,?)";
 
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,power.getMenuId());
		pstmt.setString(2,power.getPowerName());
		pstmt.setString(3,power.getPowerDescr());
		pstmt.setInt(4,power.getPowerState());
		pstmt.setString(5,power.getPowerUrl());
		pstmt.executeUpdate();
		pstmt.close();
	}
	/**
	 * 权限列表
	 */
	public List listAllPower() throws Exception{
		List list = null; 
		String sql = "select * from SYS_POWER";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		list = DTOPopulator.populate(rs, Power.class);
		rs.close();
		pstmt.close();
		return list;
	}
	
	/**
	 * 根据权限状态返回权限列表
	 * @param state
	 * @return
	 * @throws Exception 
	 */
	public List listAllPower(int state) throws Exception{
		List list = null;
		String sql="select *from SYS_POWER where POWER_STATE=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,state);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		list =  DTOPopulator.populate(rs, Power.class);
		rs.close();
		pstmt.close();
		return list;
		
	}
	/**
	 * 通过ID查找权限
	 * @param powerId
	 * @return
	 * @throws Exception
	 */
	public Power getPowerById(int powerId) throws Exception{
		Power power = null;
		String sql = "select * from SYS_POWER where POWER_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,powerId);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		List list = DTOPopulator.populate(rs, Power.class);
		//取集合中的第一个元素返回
		if(list.size()>0){
			power=(Power)list.get(0);
		}
		rs.close();
		pstmt.close();
		return power;
	}
	
	/**
	 * 更新权限状态
	 */
	public void updatePowerState(int powerId,int powerState) throws SQLException{
		//System.out.println("haha");
		String sql = "update SYS_POWER set POWER_STATE=? where POWER_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,powerState);
		pstmt.setInt(2,powerId); 
		pstmt.executeUpdate(); 
		pstmt.close();
	}	
	/**
	 * 更新权限
	 *
	 */
	public void updatePower(Power power) throws SQLException{
		String sql = "update SYS_POWER set POWER_NAME=?,POWER_DESCR=?,MENU_ID=?,POWER_URL=? where POWER_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setString(1,power.getPowerName());
		pstmt.setString(2,power.getPowerDescr());
		pstmt.setInt(3,power.getMenuId());
		pstmt.setString(4,power.getPowerUrl());
		pstmt.setInt(5,power.getPowerId());

		pstmt.executeUpdate();
		pstmt.close();
	}
	/**
	 * 删除权限
	 */
	public boolean delPower(int powerId) throws SQLException{
		boolean flag=true;
		//是否给用户分配权限
		String sql = "select count(*) from SYS_EMPLOYEE_POWER where POWER_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,powerId);
		ResultSet rs = pstmt.executeQuery();
		if(rs.next()){
			if(rs.getInt(1)>0){
				flag = false;
			}
		}
		rs.close();
		pstmt.close();
		

		//是否给角分配权限
		sql = "select count(*) from SYS_ROLE_POWER where POWER_ID=?";
		pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,powerId);
		rs = pstmt.executeQuery();
		if(rs.next()){
			if(rs.getInt(1)>0){
				flag = false;
			}
		}
		rs.close();
		pstmt.close();
		
		if(flag){
			//删除
			sql = "delete from SYS_POWER where POWER_ID=?";
			pstmt = conn.prepareStatement(sql);
			pstmt.setInt(1,powerId);
			pstmt.executeUpdate();
			pstmt.close();
		}
		return flag;
	}
	
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -