Skip to content

Commit 39fe0c3

Browse files
committed
# 抛弃 改造 MybatisPlus 源码方式 ,支持JPA 注解,在EL 中 进行MybatisPlus 适配
1 parent 84dc078 commit 39fe0c3

29 files changed

+720
-3064
lines changed

eladmin-common/src/main/java/me/zhengjie/base/mybatis/BaseDao.java

Lines changed: 85 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import com.google.common.collect.Sets;
66
import me.zhengjie.utils.WhereFun;
77
import me.zhengjie.utils.WrapperUtils;
8-
import org.springframework.beans.factory.annotation.Value;
8+
import me.zhengjie.utils.enums.DbType;
99
import org.springframework.data.jpa.repository.JpaRepository;
1010

1111
import java.io.Serializable;
@@ -20,79 +20,123 @@
2020
public class BaseDao<I extends IService<T>, J extends JpaRepository<T, ID>, T, ID extends Serializable> {
2121
protected I mpService;
2222
protected J jpaRepository;
23-
@Value("${db.type.switch:false}")
24-
protected boolean dbSwitch;
23+
protected DbType dbType = DbType.JPA;
2524

2625
public BaseDao(I mpService, J jpaRepository) {
2726
this.mpService = mpService;
2827
this.jpaRepository = jpaRepository;
2928
}
3029

31-
public void save(T columnInfo) {
32-
if (dbSwitch) {
33-
jpaRepository.save(columnInfo);
34-
} else {
35-
mpService.save(columnInfo);
30+
public T save(T t) {
31+
T t1;
32+
switch (dbType) {
33+
case JPA:
34+
t1 = jpaRepository.save(t);
35+
break;
36+
case MYBATIS:
37+
mpService.save(t);
38+
t1 = t;
39+
break;
40+
default:
41+
throw new IllegalStateException("Unexpected value: " + dbType);
3642
}
43+
return t1;
3744
}
3845

3946
public List<T> saveAll(List<T> entities) {
40-
if (dbSwitch) {
41-
return jpaRepository.saveAll(entities);
42-
} else {
43-
mpService.saveBatch(entities);
44-
return entities;
47+
List<T> result;
48+
switch (dbType) {
49+
case JPA:
50+
result = jpaRepository.saveAll(entities);
51+
break;
52+
case MYBATIS:
53+
mpService.saveBatch(entities);
54+
result = entities;
55+
break;
56+
default:
57+
throw new IllegalStateException("Unexpected value: " + dbType);
4558
}
59+
return result;
4660
}
4761

4862
public void delete(T entity) {
49-
if (dbSwitch) {
50-
jpaRepository.delete(entity);
51-
} else {
52-
mpService.remove(WrapperUtils.excute(entity, Wrappers.query(), WhereFun.DEFAULT));
63+
switch (dbType) {
64+
case JPA:
65+
jpaRepository.delete(entity);
66+
break;
67+
case MYBATIS:
68+
mpService.remove(WrapperUtils.excute(entity, Wrappers.query(), WhereFun.DEFAULT));
69+
break;
70+
default:
71+
throw new IllegalStateException("Unexpected value: " + dbType);
5372
}
5473
}
5574

5675
public void deleteById(ID id) {
57-
if (dbSwitch) {
58-
jpaRepository.deleteById(id);
59-
} else {
60-
mpService.removeById(id);
76+
switch (dbType) {
77+
case JPA:
78+
jpaRepository.deleteById(id);
79+
break;
80+
case MYBATIS:
81+
mpService.removeById(id);
82+
break;
83+
default:
84+
throw new IllegalStateException("Unexpected value: " + dbType);
6185
}
6286
}
6387

6488
public void update(T columnInfo) {
65-
if (dbSwitch) {
66-
jpaRepository.saveAndFlush(columnInfo);
67-
} else {
68-
mpService.saveOrUpdate(columnInfo);
89+
switch (dbType) {
90+
case JPA:
91+
jpaRepository.saveAndFlush(columnInfo);
92+
break;
93+
case MYBATIS:
94+
mpService.saveOrUpdate(columnInfo);
95+
break;
96+
default:
97+
throw new IllegalStateException("Unexpected value: " + dbType);
6998
}
7099
}
71100

72101
public void batUpdate(List<T> entities) {
73-
if (dbSwitch) {
74-
jpaRepository.saveAll(entities);
75-
} else {
76-
mpService.saveOrUpdateBatch(entities);
102+
switch (dbType) {
103+
case JPA:
104+
jpaRepository.saveAll(entities);
105+
break;
106+
case MYBATIS:
107+
mpService.saveOrUpdateBatch(entities);
108+
break;
109+
default:
110+
throw new IllegalStateException("Unexpected value: " + dbType);
77111
}
78112
}
79113

80114
public T selectById(ID id) {
81115
T t;
82-
if (dbSwitch) {
83-
t = jpaRepository.getOne(id);
84-
} else {
85-
t = mpService.getById(id);
116+
switch (dbType) {
117+
case JPA:
118+
t = jpaRepository.getOne(id);
119+
break;
120+
case MYBATIS:
121+
t = mpService.getById(id);
122+
break;
123+
default:
124+
throw new IllegalStateException("Unexpected value: " + dbType);
86125
}
87126
return t;
88127
}
89128

90129
public List<T> selectAllById(Iterable<ID> ids) {
91130
List<T> t;
92-
if (dbSwitch) {
93-
t = jpaRepository.findAllById(ids);
94-
} else {
95-
t = mpService.listByIds(Sets.newHashSet(ids));
131+
switch (dbType) {
132+
case JPA:
133+
t = jpaRepository.findAllById(ids);
134+
break;
135+
case MYBATIS:
136+
t = mpService.listByIds(Sets.newHashSet(ids));
137+
break;
138+
default:
139+
throw new IllegalStateException("Unexpected value: " + dbType);
96140
}
97141
return t;
98142
}
@@ -113,11 +157,11 @@ public void setJpaRepository(J jpaRepository) {
113157
this.jpaRepository = jpaRepository;
114158
}
115159

116-
public boolean isDbSwitch() {
117-
return dbSwitch;
160+
public DbType getDbType() {
161+
return dbType;
118162
}
119163

120-
public void setDbSwitch(boolean dbSwitch) {
121-
this.dbSwitch = dbSwitch;
164+
public void setDbType(DbType dbType) {
165+
this.dbType = dbType;
122166
}
123167
}

0 commit comments

Comments
 (0)