📄 basedaoimpl.java.svn-base
字号:
package com.szhelper.lotteryWeb.dao.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jdbc.core.JdbcTemplate;
import com.szhelper.lotteryWeb.common.utils.SQLUtils;
import com.szhelper.lotteryWeb.dao.IBaseDao;
import com.szhelper.lotteryWeb.util.PageBean;
import com.szhelper.lotteryWeb.util.Util;
public class BaseDaoImpl implements IBaseDao {
private static String SELECT_COUNT = "select count(*) from ";
private static String SELECT_FROM = "select * from ";
private static String DELETE_FROM = "delete from ";
private static String WHERE = " where ";
private static String UPDATE = " update ";
private static String SET = " set ";
private static String ORDER_BY_ID = " order by id desc ";
private JdbcTemplate jdbcTemplate;
private String tableName;
private Class objectClass;
private String keyColumn;
private String delFalgColumn;
protected final Log logger = LogFactory.getLog(getClass());
public void setKeyColumn(String keyColumn) {
this.keyColumn = keyColumn;
}
public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public void setObjectClass(Class objectClass) {
this.objectClass = objectClass;
}
public void setTableName(String tableName) {
this.tableName = tableName;
}
public void setDelFalgColumn(String delFalgColumn) {
this.delFalgColumn = delFalgColumn;
}
public boolean deleteObject(Object id) {
String sql = DELETE_FROM + tableName + WHERE + keyColumn + "=?";
try {
System.out.println(sql);
jdbcTemplate.update(sql, new Object[] { id });
} catch (Exception e) {
logger.equals(e);
e.printStackTrace();
return false;
}
return true;
}
public boolean deleteDummObject(Object id) {
String sql = UPDATE + tableName + SET + delFalgColumn + "=1 where "
+ keyColumn + "=?";
try {
System.out.println("dummy delete:" + sql);
jdbcTemplate.update(sql, new Object[] { id });
} catch (Exception e) {
e.printStackTrace();
logger.equals(e);
return false;
}
return true;
}
public List findAllObject() {
String sql = SELECT_FROM + tableName + ORDER_BY_ID;
return jdbcTemplate.query(sql, new DaoRowMapper(objectClass));
}
public List findScopedObject(String... conditions) {
StringBuffer sql = new StringBuffer();
sql.append(SELECT_FROM);
sql.append(tableName);
if (conditions != null) {
sql.append(WHERE);
int i = 0;
for (String condition : conditions) {
if (i == 0) {
sql.append(condition);
} else {
sql.append(" and " + condition);
}
i++;
}
}
sql.append(ORDER_BY_ID);
System.out.println(sql.toString());
return jdbcTemplate
.query(sql.toString(), new DaoRowMapper(objectClass));
}
public Object findObjectByID(Object id) {
String sql = SELECT_FROM + tableName + WHERE + keyColumn + "=?";
System.out.println(sql);
return jdbcTemplate.queryForObject(sql, new Object[] { id },
new DaoRowMapper(objectClass));
}
public boolean insertObject(Object obj) {
Object[] sqlAndParams = SQLUtils.generateInsert(obj, tableName,
keyColumn);
try {
jdbcTemplate.update((String) sqlAndParams[0],
(Object[]) sqlAndParams[1]);
} catch (Exception e) {
e.printStackTrace();
logger.equals(e);
return false;
}
return true;
}
public boolean updateObject(Object obj) {
Object[] sqlAndParams = SQLUtils.generateUpdate(obj, tableName,
keyColumn);
try {
jdbcTemplate.update((String) sqlAndParams[0],
(Object[]) sqlAndParams[1]);
} catch (Exception e) {
e.printStackTrace();
logger.equals(e);
return false;
}
return true;
}
public List getPageModelList(PageBean page) {
String conditions[] = null;
if (Util.nullOrBlank(page.getPaginateSqlWhere()))
conditions = new String[] { delFalgColumn + "=0" };
else
conditions = new String[] { page.getPaginateSqlWhere(),
delFalgColumn + "=0" };
int count = getModelListCount(conditions);
page.setCount(count);
if (page.getPage() > 0 && page.getPageSize() > 0) {
jdbcTemplate.setMaxRows(page.getPage() * page.getPageSize());
}
List list = findScopedObject(conditions);
jdbcTemplate.setMaxRows(-1);
List retList = list.subList((page.getPage() - 1) * page.getPageSize(), list.size());
return retList;
}
public int getModelListCount(String... conditions) {
StringBuffer sb = new StringBuffer();
sb.append(SELECT_COUNT);
sb.append(tableName);
if (conditions != null) {
sb.append(WHERE);
int i = 0;
for (String condition : conditions) {
if (i == 0) {
sb.append(condition);
} else {
sb.append(" and " + condition);
}
i++;
}
}
return getModelListCountBySql(sb.toString());
}
public int getModelListCountBySql(String sql) {
return jdbcTemplate.queryForInt(sql.toString());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -