浏览代码

添加 'src/com/person/dao/impl'

1801010606 6 年之前
父节点
当前提交
6ceba65b39
共有 1 个文件被更改,包括 215 次插入0 次删除
  1. 215 0
      src/com/person/dao/impl

+ 215 - 0
src/com/person/dao/impl

@@ -0,0 +1,215 @@
+package com.person.dao.impl;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.commons.dbutils.QueryRunner;
+import org.apache.commons.dbutils.handlers.BeanHandler;
+import org.apache.commons.dbutils.handlers.BeanListHandler;
+import org.apache.commons.dbutils.handlers.ScalarHandler;
+
+import com.person.dao.PersonDao;
+import com.person.domain.Person;
+import com.person.utils.DBUtils;
+
+public class PersonDaoImpl implements PersonDao {
+
+	//ע��
+	public void register(Person p) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "insert into administrator values(?,?)";
+		try {
+			runner.update(sql, p.getUsername(), p.getPassword());
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+	}
+	
+	//������Ա�ķ���
+	public void addPerson(Person p) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "insert into tb_person values(?,?,?,?,?,?,?,?,?,?,?)";
+		Object[] params = {p.getPid(), p.getUsername(), p.getPassword(), p.getRealname(), 
+				p.getGender(), p.getEducation(), p.getLove(), p.getBirthday(), p.getPhone(),
+				p.getResume(), p.getRmark()};
+		try {
+			runner.update(sql, params);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+	}
+
+	//�ж��û����Ƿ��ظ�
+	public Boolean panduanUsername(Person p) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "select count(*) from administrator where username=?";
+		try {
+			Object obj = runner.query(sql, new ScalarHandler(), p.getUsername());
+			Long lobj = (Long) obj;
+			if(lobj ==0) {
+				return true;
+			}
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return false;
+	}
+	
+	//��¼
+	public Person login(Person p) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "select * from administrator where username=? and password=?";
+		try {
+			Person person = runner.query(sql, new BeanHandler<Person>(Person.class), p.getUsername(), p.getPassword());
+			return person;
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	//��ҳ��ѯ����
+	public List<Person> findAllPage(int begin, int pageSize) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "select * from tb_person limit ?,?";
+		try {
+			return runner.query(sql, new BeanListHandler<Person>(Person.class), begin, pageSize);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	//��¼����ѯ
+	public int findCount() {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "select count(*) from tb_person";
+		try {
+			Object obj = runner.query(sql, new ScalarHandler());
+			//����long����
+			Long lobj = (Long) obj;
+			int totalCount = lobj.intValue();
+			return totalCount;
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+	
+	//����id��ѯ��Ա
+	public Person findOne(String pid) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "select * from tb_person where pid=?";
+		try {
+			Person p = runner.query(sql, new BeanHandler<Person>(Person.class), pid);
+			return p;
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+	public void update(Person p) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "update tb_person set username=?,password=?,realname=?,gender=?,education=?,love=?,birthday=?,phone=?,rmark=? where pid=?";
+		Object[] params = {p.getUsername(), p.getPassword(), p.getRealname(), 
+				p.getGender(), p.getEducation(), p.getLove(), p.getBirthday(), p.getPhone(), p.getRmark(),
+				p.getPid()};
+		try {
+			runner.update(sql, params);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public void delete(String pid) {
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		String sql = "delete from tb_person where pid=?";
+		try {
+			runner.update(sql, pid);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+	}
+
+	public List<Person> selectPerson(Map<String, String> map, int begin, int pageSize) {
+		StringBuilder sb= new StringBuilder("select * from tb_person where ");
+		Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
+		while(it.hasNext()) {
+			Map.Entry<String, String> entry = it.next();
+			String key = entry.getKey();
+			String value = entry.getValue();
+			if(value!=null && !"".equals(value)) {
+				if(key.equals("resume")) {
+					sb.append(key+" "+value+" and ");
+				}else {
+					sb.append(key+"='"+value+"' "+"and ");
+				}
+			}
+		}
+		String sql =sb.toString();
+		if(sql.endsWith("and ")) {
+			int last = sql.lastIndexOf("and ");
+			sql = sql.substring(0,last) + "limit ?,?";
+		}
+		System.out.println(sql);
+		
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		try {
+			return runner.query(sql, new BeanListHandler<Person>(Person.class), begin, pageSize);
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+
+
+	public int selectCount(Map<String, String> map) {
+		StringBuilder sb= new StringBuilder("select count(*) from tb_person where ");
+		Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
+		while(it.hasNext()) {
+			Map.Entry<String, String> entry = it.next();
+			String key = entry.getKey();
+			String value = entry.getValue();
+			if(value!=null && !"".equals(value)) {
+				if(key.equals("resume")) {
+					sb.append(key+" "+value+" and ");
+				}else {
+					sb.append(key+"='"+value+"' "+"and ");
+				}
+			}
+		}
+		String sql =sb.toString();
+		if(sql.endsWith("and ")) {
+			int last = sql.lastIndexOf("and ");
+			sql = sql.substring(0,last);
+		}
+		System.out.println(sql);
+
+		//dbutilsʵ�����Ӳ���
+		QueryRunner runner = new QueryRunner(DBUtils.getDataSource());
+		try {
+			Object obj = runner.query(sql, new ScalarHandler());
+			//����long����
+			Long lobj = (Long) obj;
+			int totalCount = lobj.intValue();
+			return totalCount;
+		} catch (SQLException e) {
+			e.printStackTrace();
+		}
+		return 0;
+	}
+}