|
|
@@ -1,5 +1,7 @@
|
|
|
package com.zheng.common.base;
|
|
|
|
|
|
+import com.zheng.common.db.DataSourceEnum;
|
|
|
+import com.zheng.common.db.DynamicDataSource;
|
|
|
import com.zheng.common.util.SpringContextUtil;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.apache.ibatis.annotations.Param;
|
|
|
@@ -19,6 +21,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int countByExample(Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.SLAVE);
|
|
|
Method countByExample = mapper.getClass().getDeclaredMethod("countByExample", example.getClass());
|
|
|
Object result = countByExample.invoke(mapper, example);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -31,6 +34,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int deleteByExample(Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method deleteByExample = mapper.getClass().getDeclaredMethod("deleteByExample", example.getClass());
|
|
|
Object result = deleteByExample.invoke(mapper, example);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -43,6 +47,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int deleteByPrimaryKey(Integer id) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method deleteByPrimaryKey = mapper.getClass().getDeclaredMethod("deleteByPrimaryKey", id.getClass());
|
|
|
Object result = deleteByPrimaryKey.invoke(mapper, id);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -55,6 +60,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int insert(Record record) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method insert = mapper.getClass().getDeclaredMethod("insert", record.getClass());
|
|
|
Object result = insert.invoke(mapper, record);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -67,6 +73,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int insertSelective(Record record) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method insertSelective = mapper.getClass().getDeclaredMethod("insertSelective", record.getClass());
|
|
|
Object result = insertSelective.invoke(mapper, record);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -79,6 +86,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public List<Record> selectByExampleWithBLOBs(Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.SLAVE);
|
|
|
Method selectByExampleWithBLOBs = mapper.getClass().getDeclaredMethod("selectByExampleWithBLOBs", example.getClass());
|
|
|
Object result = selectByExampleWithBLOBs.invoke(mapper, example);
|
|
|
return (List<Record>) result;
|
|
|
@@ -91,6 +99,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public List<Record> selectByExample(Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.SLAVE);
|
|
|
Method selectByExample = mapper.getClass().getDeclaredMethod("selectByExample", example.getClass());
|
|
|
Object result = selectByExample.invoke(mapper, example);
|
|
|
return (List<Record>) result;
|
|
|
@@ -103,6 +112,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public Record selectByPrimaryKey(Integer id) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.SLAVE);
|
|
|
Method selectByPrimaryKey = mapper.getClass().getDeclaredMethod("selectByPrimaryKey", id.getClass());
|
|
|
Object result = selectByPrimaryKey.invoke(mapper, id);
|
|
|
return (Record) result;
|
|
|
@@ -115,6 +125,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByExampleSelective(@Param("record") Record record, @Param("example") Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByExampleSelective = mapper.getClass().getDeclaredMethod("updateByExampleSelective", record.getClass(), example.getClass());
|
|
|
Object result = updateByExampleSelective.invoke(mapper, record, example);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -127,6 +138,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByExampleWithBLOBs(@Param("record") Record record, @Param("example") Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByExampleWithBLOBs = mapper.getClass().getDeclaredMethod("updateByExampleWithBLOBs", record.getClass(), example.getClass());
|
|
|
Object result = updateByExampleWithBLOBs.invoke(mapper, record, example);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -139,6 +151,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByExample(@Param("record") Record record, @Param("example") Example example) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByExample = mapper.getClass().getDeclaredMethod("updateByExample", record.getClass(), example.getClass());
|
|
|
Object result = updateByExample.invoke(mapper, record, example);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -151,6 +164,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByPrimaryKeySelective(Record record) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByPrimaryKeySelective = mapper.getClass().getDeclaredMethod("updateByPrimaryKeySelective", record.getClass());
|
|
|
Object result = updateByPrimaryKeySelective.invoke(mapper, record);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -163,6 +177,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByPrimaryKeyWithBLOBs(Record record) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByPrimaryKeyWithBLOBs = mapper.getClass().getDeclaredMethod("updateByPrimaryKeyWithBLOBs", record.getClass());
|
|
|
Object result = updateByPrimaryKeyWithBLOBs.invoke(mapper, record);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -175,6 +190,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
@Override
|
|
|
public int updateByPrimaryKey(Record record) {
|
|
|
try {
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
Method updateByPrimaryKey = mapper.getClass().getDeclaredMethod("updateByPrimaryKey", record.getClass());
|
|
|
Object result = updateByPrimaryKey.invoke(mapper, record);
|
|
|
return Integer.parseInt(String.valueOf(result));
|
|
|
@@ -190,6 +206,7 @@ public abstract class BaseServiceImpl<Mapper, Record, Example> implements BaseSe
|
|
|
if (StringUtils.isBlank(ids)) {
|
|
|
return 0;
|
|
|
}
|
|
|
+ DynamicDataSource.setDataSource(DataSourceEnum.MASTER);
|
|
|
String[] idArray = ids.split("-");
|
|
|
int count = 0;
|
|
|
for (String idStr : idArray) {
|