Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Z
ZhangKuan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张宽
ZhangKuan
Commits
dadfb0a5
Commit
dadfb0a5
authored
Mar 16, 2018
by
=
Browse files
Options
Browse Files
Download
Plain Diff
和
parents
ec53bdb9
edb870e0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
89 additions
and
6 deletions
+89
-6
README.md
README.md
+20
-1
yanshi.jpeg
docs/image/yanshi.jpeg
+0
-0
Util.java
domain/src/main/java/com/haomostudio/Util/Util.java
+53
-0
pom.xml
pom.xml
+5
-5
MybatisExampleHelper.java
...eekTruthBackend/service/HmUtils/MybatisExampleHelper.java
+11
-0
No files found.
README.md
View file @
dadfb0a5
...
...
@@ -32,4 +32,23 @@ postgresql
### 3.运行生成过程
运行mybatis_generate.sh文件,就在项目根目录下面。
### 4.备注
PS:项目根目录下面的脚本作用clean_mybatis_generated.sh和clean_mybatis_generated_springmvc.sh 删除相应目录下所有的文件。
\ No newline at end of file
PS:项目根目录下面的脚本作用clean_mybatis_generated.sh和clean_mybatis_generated_springmvc.sh 删除相应目录下所有的文件。
### 5.自动生成"或"的实现
1.
将下面的代码拷贝到生成
**xxxExample.java**
文件中,拷贝的位置为抽象类
**GeneratedCriteria**
中,如下图所示。
```
public Criteria fieldsValuesOr( List<String> fields,List<String> values, String column){
addCriterion(Util.dealFieldsValuesDataBaseOR(fields,values,column));
return (Criteria) this;
}
```
!
[
代码示例
](
docs/image/yanshi.jpeg
)
2.
将项目中的
**Util.java**
文件复制到自己的项目里。文件路径:domain/src/main/java/com/haomostudio/Util/Util.java
\ No newline at end of file
docs/image/yanshi.jpeg
0 → 100644
View file @
dadfb0a5
340 KB
domain/src/main/java/com/haomostudio/Util/Util.java
0 → 100644
View file @
dadfb0a5
package
com
.
haomostudio
.
Util
;
/**
* Created by guanpb on 2018/3/16.
*/
import
java.util.List
;
/**
* Created by guanpb on 2017/9/18.
*/
public
class
Util
{
public
static
String
dealFieldsValuesDataBaseOR
(
List
<
String
>
fields
,
List
<
String
>
values
,
String
column
){
StringBuffer
stringBuffer
=
new
StringBuffer
();
stringBuffer
.
append
(
"( "
);
if
(
fields
==
null
||
values
==
null
||
(
fields
!=
null
&&
fields
.
size
()
==
0
)
||
(
values
!=
null
&&
fields
.
size
()
==
0
)
){
return
"1=1"
;
}
if
(
fields
.
size
()
>
1
&&
values
.
size
()
>
1
){
int
i
=
0
;
for
(
String
value:
values
){
if
(
column
.
contains
(
"like"
)){
stringBuffer
.
append
(
fields
.
get
(
i
)+
" like '%"
+
value
+
"%' or "
);
}
else
{
stringBuffer
.
append
(
fields
.
get
(
i
)+
" = '"
+
value
+
"' or "
);
}
i
++;
}
}
else
{
boolean
fieldsOrValue
=
fields
.
size
()
==
1
;
List
<
String
>
lists
=
fieldsOrValue
?
values:
fields
;
lists
.
stream
().
forEach
(
list
->{
if
(
column
.
contains
(
"like"
)){
stringBuffer
.
append
((
fieldsOrValue
?
fields
.
get
(
0
):
list
)+
" like '%"
+(
fieldsOrValue
?
list:
values
.
get
(
0
))+
"%' or "
);
}
else
{
stringBuffer
.
append
((
fieldsOrValue
?
fields
.
get
(
0
):
list
)+
" = '"
+(
fieldsOrValue
?
list:
values
.
get
(
0
))+
"' or "
);
}
});
}
stringBuffer
.
delete
(
stringBuffer
.
length
()-
4
,
stringBuffer
.
length
()-
1
);
stringBuffer
.
append
(
") "
);
if
(
fields
.
size
()
==
1
&&
values
.
size
()
==
1
){
return
stringBuffer
.
toString
().
replace
(
" or"
,
""
);
}
return
stringBuffer
.
toString
();
}
}
\ No newline at end of file
pom.xml
View file @
dadfb0a5
...
...
@@ -160,11 +160,11 @@
</dependency>
<!-- 添加oracle jdbc driver -->
<
!--<dependency>--
>
<
!--<groupId>com.oracle</groupId>--
>
<
!--<artifactId>ojdbc6</artifactId>--
>
<
!--<version>11.2.0.1.0</version>--
>
<
!--</dependency>--
>
<
dependency
>
<
groupId>
com.oracle
</groupId
>
<
artifactId>
ojdbc6
</artifactId
>
<
version>
11.2.0.1.0
</version
>
<
/dependency
>
...
...
service/src/main/java/com/haomostudio/SeekTruthBackend/service/HmUtils/MybatisExampleHelper.java
View file @
dadfb0a5
...
...
@@ -89,6 +89,17 @@ public class MybatisExampleHelper {
Method
m
=
MybatisExampleHelper
.
getMethod
(
exampleObjCriteria
,
funcName
);
switch
(
condition
){
case
"fieldsValuesOr"
:
try
{
m
=
MybatisExampleHelper
.
getMethod
(
exampleObjCriteria
,
condition
);
m
.
invoke
(
exampleObjCriteria
,(
List
<
String
>)((
Map
<
String
,
Object
>)
value
).
get
(
"values"
),(
List
<
String
>)((
Map
<
String
,
Object
>)
value
).
get
(
"fields"
),
column
);
}
catch
(
IllegalAccessException
e
)
{
e
.
printStackTrace
();
}
catch
(
InvocationTargetException
e
)
{
e
.
printStackTrace
();
}
break
;
case
"isNull"
:
case
"isNotNull"
:
try
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment