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<T,PK> {
//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<T> 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<PropertyDescriptor> 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<PropertyDescriptor> getProperties() {
return properties;
}
public void setProperties(List<PropertyDescriptor> 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() {
return searchByIDSqlPrefix;
}
public void setSearchByIDSqlPrefix(String searchByIDSqlPrefix) {
this.searchByIDSqlPrefix = searchByIDSqlPrefix;
}
public String getCountSqlPrefix() {
return countSqlPrefix;
}
public void setCountSqlPrefix(String countSqlPrefix) {
this.countSqlPrefix = countSqlPrefix;
}
public String getCountByConditionSqlPrefix() {
return countByConditionSqlPrefix;
}
public void setCountByConditionSqlPrefix(String countByConditionSqlPrefix) {
this.countByConditionSqlPrefix = countByConditionSqlPrefix;
}
}
private TableCache cache = null;
public Table(Class<T> beanClass,RowMapper<T> rowMapper,String tableName,String tableKey,boolean autoGeneratePK,SimpleDateFormat dateFormat){
this.beanClass = beanClass;
this.rowMapper = rowMapper;
用JDBCTemplate实现的单表通用DAO,实现增删改查和统计
最新推荐文章于 2021-05-26 09:52:03 发布