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

📄 draftboxdao.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.util.List;

import com.oa.lp.model.DraftBox;
import com.oa.lp.model.DraftBoxAnnex;
import com.oa.lp.model.Employee;
import com.oa.lp.util.DTOPopulator;
import com.oa.lp.util.PageList;
import com.oa.lp.util.Pages;

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

	public void setConn(Connection conn) {
		this.conn = conn;
	}
	//添加草稿,和附件
	public void addDraft(DraftBox draft,List annexList) throws SQLException{
		int draftId=0;
		//添加草稿
		String sql = "insert into DRAFT_BOX(EMP_ID,SEND_PERSON_ID,SEND_PERSON_NAME,ACCEPT_PERSON_ID,ACCEPT_PERSON_NAME,TITLE,CONTENT,SAVE_TIME)" +
				"values(?,?,?,?,?,?,?,getDate()) select SCOPE_IDENTITY()"; 
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,draft.getEmpId());
		pstmt.setString(2,draft.getSendPersonId());
		pstmt.setString(3,draft.getSendPersonName());
		pstmt.setString(4,draft.getAcceptPersonId());
		pstmt.setString(5,draft.getAcceptPersonName());
		pstmt.setString(6,draft.getTitle());
		pstmt.setString(7,draft.getContent());
		ResultSet rs = pstmt.executeQuery();
		if(rs.next()){
			draftId = rs.getInt(1);
		}
		rs.close();
		pstmt.close();
		//添加附件
		if(annexList!=null){
			sql = "insert into DRAFT_BOX_ANNEX(DRAFT_ID,NAME,PATH)values(?,?,?)";
			pstmt = conn.prepareStatement(sql);
			for(int i=0;i<annexList.size();i++){
				DraftBoxAnnex annex=(DraftBoxAnnex)annexList.get(i);
				pstmt.setInt(1,draftId);
				pstmt.setString(2,annex.getName());
				pstmt.setString(3,annex.getPath());
				pstmt.executeUpdate();
			}
		}
		rs.close();
		pstmt.close();
	}
	//删除
	public void delDraft(int draftId) throws SQLException{
		//先删除附件 
		String sql = "delete from DRAFT_BOX_ANNEX where DRAFT_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,draftId);
		pstmt.executeUpdate();
		pstmt.close();
		//再删除草稿
		sql = "delete from DRAFT_BOX where DRAFT_ID=?";
		pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,draftId);
		pstmt.executeUpdate();
		pstmt.close();
	}
	/*
	 * 通过empId 返回 草稿列表
	 */
	public PageList listAllDraft(Pages page,int empId) throws Exception{
		PageList pageList = null;
		//总录数
		page.setAllRecord(countDraft());
		page.doPage();
		StringBuffer sql = new StringBuffer();
		sql.append("select * from (");
		sql.append("select top "+page.getPageSize()+" * from (");
		sql.append("select top "+(page.getPageSize()*page.getCPage())+" * from ");
		sql.append("DRAFT_BOX order by DRAFT_ID desc) t1 order by DRAFT_ID asc) t2 order by DRAFT_ID desc");
		sql.append("where EMP_ID=?");
		PreparedStatement pstmt = conn.prepareStatement(sql.toString());
		pstmt.setInt(1,empId);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		List list = DTOPopulator.populate(rs, DraftBox.class);
		
		pageList.setPage(page);
		pageList.setObjectList(list);
		pstmt.close();
		
		return pageList;
	}
	/*
	 * 通过draftId返回草稿
	 */
	public DraftBox getById(int draftId) throws Exception{
		DraftBox draftbox =null;
		String sql = "select * from DRAFT_BOX where DRAFT_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,draftId);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		List list = DTOPopulator.populate(rs, DraftBox.class);
		//取集合中的第一个元素返回
		if(list.size()>0){
			draftbox=(DraftBox)list.get(0);
		}
		rs.close();
		pstmt.close();
		return draftbox;
	}
	/*
	 * 通过draftId返回草稿附件列表
	 */
	public List getAnnexByDraftId(int draftId) throws Exception{
		List list = null;
		String sql = "select * from DRAFT_BOX_ANNEX where DRAFT_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,draftId);
		ResultSet rs = pstmt.executeQuery();
		list=DTOPopulator.populate(rs, DraftBoxAnnex.class);
		rs.close();
		pstmt.close();
		return list;
	}
	/**
	 * 草稿总记录数
	 * @return
	 * @throws SQLException
	 */
	public int countDraft() throws SQLException{
		int count = 0;
		String sql = "select count(*) from DRAFT_BOX";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		ResultSet rs = pstmt.executeQuery(); 
		if(rs.next()){
			count = rs.getInt(1);
		}
		pstmt.close();
		return count;
	}
	/*
	 * 通过empId 返回 草稿列表没有分页
	 */
	public List listAllDraft(int empId) throws Exception{
		List list=null;
		String sql="select *from DRAFT_BOX where EMP_ID=?";
		PreparedStatement pstmt = conn.prepareStatement(sql);
		pstmt.setInt(1,empId);
		ResultSet rs = pstmt.executeQuery();
		//将结果集中的每一行记录封装成一个对象,再放进集合返回
		list=DTOPopulator.populate(rs, DraftBox.class);
		rs.close();
		pstmt.close();
		return list;
	}
}

⌨️ 快捷键说明

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