日期:2014-05-16  浏览次数:20444 次

Spring3 JDBC 通用DAO封装1目前正在完成dao层 后续不断更新
部分代码是借鉴其他博客
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.dahua.core;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;

import com.dahua.core.page.Pager;



/**
* 基于Spring3 JDBC
* User: szj
* Date: 2012-04-01
* Time: 14:09:44
* BaseDAO 数据库连接基础类
*/

public interface BaseDao<T, ID extends Serializable> {


    public Number saveAndReturnKey(Saveable objForSave);
    public Number saveAndReturnKey(Object objForSave,String tableName,String...keyColumns);
    public Number saveAndReturnKey(String tableName,Map<String,Object> columnAndValue,String...keyColumns);
    public int addList(Collection<T> entityCollection, Class<T> entityClazz);  
    public int delete(T entity);
    public int deleteList(Collection<T> entityCollection, Class<T> entityClazz);  
    public void update(T entity);
    public int updateList(Collection<T> entityCollection, Class<T> entityClazz);  
    public void saveOrUpdate(T entity);
    public List<T> getList(String sql,Class<T> entityClazz);
    public List<T> getListAll(Class<T> entityClazz);
    public List<T> getPageList( String hSql,Class<T> entityClazz, Pager pager);
    /**
   * 按某个字段查找
   * @param sql 
   * @param columnName
   * @param value
   * return 返回List
   */ 
public List<T> findBycolumnNameList(Class<T> entityClazz, String columnName, Object value);
/**
   * 按某个字段查找
   * @param sql 
   * @param columnName
   * @param value
   * return 返回T
   */  
public T findBycolumnName(Class<T> entityClazz, String columnName, Object value);
/**
   * 按id查找
   * @param sql 
   * @param columnName
   * @param value
   * return 返回T
   */ 
public T findByid(Class<T> entityClazz,  Object value);
/**
   * 统计总数
   * @param sql 
   */ 
public int countAll(String sql);
/**
   * 删除数据的方法
   * @param sql
   * @param columns
   */ 
    public void delete(String sql,String columns);
    public int deleteById(Class<T> entityClazz, ID id);
    public void update(String sql);
    public void update(String sql,T entity);
 
 
}
package com.dahua.core;

import java.io.Serializable;
import java.util.Collection;
import java.util.List;
import java.util.Map;


import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.BeanPropertyRowMapper;

import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;

import org.springframework.jdbc.core.simple.SimpleJdbcInsert;
import org.springframework.jdbc.core.support.JdbcDaoSupport;

import com.dahua.core.page.LimitPageHepler;
import com.dahua.core.page.Pager;
/**