![JAR search and dependency download from the Maven repository](/logo.png)
com.denghb.eorm.impl.EormAbstractImpl Maven / Gradle / Ivy
package com.denghb.eorm.impl;
import com.denghb.eorm.Eorm;
import com.denghb.eorm.EormException;
import com.denghb.eorm.utils.EormUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
/**
* 抽象实现
* insert
* batchInsert
* list
* doTx
*/
public abstract class EormAbstractImpl implements Eorm {
private Log log = LogFactory.getLog(this.getClass());
private JdbcTemplate jdbcTemplate;
public EormAbstractImpl(JdbcTemplate jdbcTemplate) {
this.jdbcTemplate = jdbcTemplate;
}
public int execute(String sql, Object... args) {
if (log.isDebugEnabled()) {
log.debug("Params:" + Arrays.toString(args));
log.debug("Execute SQL:" + sql);
}
return jdbcTemplate.update(sql, args);
}
private boolean isSingleClass(Class clazz) {
return clazz.isPrimitive() || Number.class.isAssignableFrom(clazz) || CharSequence.class.isAssignableFrom(clazz) || Date.class.isAssignableFrom(clazz);
}
public List select(Class clazz, String sql, Object... args) {
if (log.isDebugEnabled()) {
log.debug("Params:" + Arrays.toString(args));
log.debug("Query SQL:" + sql);
}
List list = null;
if (null == args || 0 == args.length || args[0] == null) {
if (isSingleClass(clazz)) {
list = jdbcTemplate.queryForList(sql, clazz);
} else {
list = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(clazz));
}
} else {
if (isSingleClass(clazz)) {
list = jdbcTemplate.queryForList(sql, clazz, args);
} else {
list = jdbcTemplate.query(sql, BeanPropertyRowMapper.newInstance(clazz), args);
}
}
return list;
}
public void update(T domain) {
EormUtils.TableInfo table = EormUtils.getTableInfo(domain);
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy