|
@@ -16,6 +16,7 @@
|
|
|
package com.baomidou.mybatisplus.service.impl;
|
|
|
|
|
|
import com.baomidou.mybatisplus.entity.TableInfo;
|
|
|
+import com.baomidou.mybatisplus.enums.SqlMethod;
|
|
|
import com.baomidou.mybatisplus.exceptions.MybatisPlusException;
|
|
|
import com.baomidou.mybatisplus.mapper.BaseMapper;
|
|
|
import com.baomidou.mybatisplus.mapper.SqlHelper;
|
|
@@ -163,7 +164,7 @@ public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {
|
|
|
try {
|
|
|
int size = entityList.size();
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
- baseMapper.insert(entityList.get(i));
|
|
|
+ batchSqlSession.insert(sqlStatement(SqlMethod.INSERT_ONE), entityList.get(i));
|
|
|
if (i % batchSize == 0) {
|
|
|
batchSqlSession.flushStatements();
|
|
|
}
|
|
@@ -212,7 +213,7 @@ public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {
|
|
|
try {
|
|
|
int size = entityList.size();
|
|
|
for (int i = 0; i < size; i++) {
|
|
|
- baseMapper.updateById(entityList.get(i));
|
|
|
+ batchSqlSession.update(sqlStatement(SqlMethod.UPDATE_BY_ID), entityList.get(i));
|
|
|
if (i % 30 == 0) {
|
|
|
batchSqlSession.flushStatements();
|
|
|
}
|
|
@@ -272,27 +273,34 @@ public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {
|
|
|
|
|
|
@SuppressWarnings({ "rawtypes", "unchecked" })
|
|
|
public Page<Map<String, Object>> selectMapsPage(Page page, Wrapper<T> wrapper) {
|
|
|
- fillWrapper(page, wrapper);
|
|
|
+ SqlHelper.fillWrapper(page, wrapper);
|
|
|
page.setRecords(baseMapper.selectMapsPage(page, wrapper));
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
public Page<T> selectPage(Page<T> page, Wrapper<T> wrapper) {
|
|
|
- fillWrapper(page, wrapper);
|
|
|
+ SqlHelper.fillWrapper(page, wrapper);
|
|
|
page.setRecords(baseMapper.selectPage(page, wrapper));
|
|
|
return page;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 填充Wrapper
|
|
|
- *
|
|
|
- * @param page
|
|
|
- * @param wrapper
|
|
|
+ * 获取SqlStatement
|
|
|
+ *
|
|
|
+ * @param sqlMethod
|
|
|
+ * @return
|
|
|
*/
|
|
|
- protected void fillWrapper(Page<T> page, Wrapper<T> wrapper) {
|
|
|
- if (null != wrapper) {
|
|
|
- wrapper.orderBy(page.getOrderByField(), page.isAsc());
|
|
|
- wrapper.allEq(page.getCondition());
|
|
|
- }
|
|
|
+ protected String sqlStatement(SqlMethod sqlMethod) {
|
|
|
+ return sqlStatement(sqlMethod.getMethod());
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取SqlStatement
|
|
|
+ *
|
|
|
+ * @param sqlMethod
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ protected String sqlStatement(String sqlMethod) {
|
|
|
+ return SqlHelper.table(currentModleClass()).getSqlStatement(sqlMethod);
|
|
|
}
|
|
|
}
|