
com.denghb.eorm.impl.EormMySQLImpl Maven / Gradle / Ivy
package com.denghb.eorm.impl;
import com.denghb.eorm.Eorm;
import com.denghb.eorm.EormException;
import com.denghb.eorm.domain.Paging;
import com.denghb.eorm.domain.PagingResult;
import com.denghb.eorm.support.EormSupport;
import com.denghb.eorm.support.EormTraceSupport;
import com.denghb.eorm.support.model.Column;
import com.denghb.eorm.support.model.Table;
import com.denghb.eorm.utils.ReflectUtils;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.List;
/**
* MySQL 批量插入和分页实现
*/
public class EormMySQLImpl extends EormAbstractImpl implements Eorm {
public EormMySQLImpl(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
}
/**
* insert into table_name(c1,c2,c3) values (?,?,?),(?,?,?),(?,?,?) ...
*
* @param list 对象列表
* @param 类型
*/
public void batchInsert(List list) {
EormTraceSupport.start();
if (null == list || list.isEmpty()) {
throw new EormException("list is empty...");
}
// 取第一个样本,后面的值必须要和第一个一样
T domain = list.get(0);
Table table = EormSupport.load(domain.getClass());
StringBuilder csb = new StringBuilder();
List allColumns = table.getAllColumns();
int columnSize = allColumns.size();
for (Column column : allColumns) {
Object value = ReflectUtils.getFieldValue(column.getField(), domain);
if (null == value) {
continue;
}
if (csb.length() > 0) {
csb.append(", ");
}
csb.append('`');
csb.append(column.getName());
csb.append('`');
}
List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy