用JDBCTemplate实现的单表通用DAO,实现增删改查和统计(一)

2014-11-24 07:23:27 · 作者: · 浏览: 0

[java]
package com.nbport.xk.dao;

import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.jdbc.core.RowMapper;

public class Table {

//bean类型
private Class< > beanClass = null;

//表名
private String tableName = null;

//主键名
private String tableKey = null;

//用数据库自动创建的增长ID
private boolean autoGeneratePK = false;

//时间格式化
private SimpleDateFormat dateFormat = null;

//rowMapper
private RowMapper rowMapper = null;

class TableCache{

private String insertSqlPrefix = null;

private String deleteSqlPrefix = null;

private String updateSqlPrefix = null;

private String searchSqlPrefix = null;

private String searchByIDSqlPrefix = null;

private String countSqlPrefix = null;

private String countByConditionSqlPrefix = null;

private List properties = null;

private PropertyDescriptor keyDescriptor = null;

private Method keySetMethod = null;

private Method keyGetMethod = null;

public TableCache(){

}

public String getInsertSqlPrefix() {
return insertSqlPrefix;

}

public void setInsertSqlPrefix(String insertSqlPrefix) {
this.insertSqlPrefix = insertSqlPrefix;
}

public String getDeleteSqlPrefix() {
return deleteSqlPrefix;
}

public void setDeleteSqlPrefix(String deleteSqlPrefix) {
this.deleteSqlPrefix = deleteSqlPrefix;
}

public String getUpdateSqlPrefix() {
return updateSqlPrefix;
}

public void setUpdateSqlPrefix(String updateSqlPrefix) {
this.updateSqlPrefix = updateSqlPrefix;
}

public List getProperties() {
return properties;
}

public void setProperties(List properties) {
this.properties = properties;
}

public Method getKeySetMethod() {
return keySetMethod;
}

public void setKeySetMethod(Method keySetMethod) {
this.keySetMethod = keySetMethod;
}

public Method getKeyGetMethod() {
return keyGetMethod;
}

public void setKeyGetMethod(Method keyGetMethod) {
this.keyGetMethod = keyGetMethod;
}

public PropertyDescriptor getKeyDescriptor() {
return keyDescriptor;
}

public void setKeyDescriptor(PropertyDescriptor keyDescriptor) {
this.keyDescriptor = keyDescriptor;
}

public String getSearchSqlPrefix() {
return searchSqlPrefix;
}

public void setSearchSqlPrefix(String searchSqlPrefix) {
this.searchSqlPrefix = searchSqlPrefix;
}

public String getSearchByIDSqlPrefix() {
re