|
@@ -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;
|
|
|
+ }
|
|
|
+}
|