Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
C
common
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
曲欣亮
common
Commits
9586ea39
Commit
9586ea39
authored
Nov 24, 2018
by
Quxl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
x
parent
61255652
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
10 additions
and
12 deletions
+10
-12
JdbcTemplate.java
src/main/java/com/egolm/common/jdbc/JdbcTemplate.java
+10
-12
No files found.
src/main/java/com/egolm/common/jdbc/JdbcTemplate.java
View file @
9586ea39
package
com
.
egolm
.
common
.
jdbc
;
import
java.beans.PropertyDescriptor
;
import
java.lang.reflect.Field
;
import
java.sql.CallableStatement
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
...
...
@@ -200,22 +202,18 @@ public class JdbcTemplate extends org.springframework.jdbc.core.JdbcTemplate {
Desc
iSql
=
dialect
.
getDesc
(
obj
.
getClass
());
Map
<
String
,
Object
>
pkFieldMap
=
dialect
.
getFieldValue
(
obj
,
byFields
);
if
(
dialect
.
hasPkValue
(
obj
)
&&
pkFieldMap
!=
null
&&
pkFieldMap
.
size
()
>
0
)
{
List
<
Map
<
String
,
Object
>>
objMaps
=
queryForListByColumn
(
iSql
.
getName
(),
pkFieldMap
);
List
<
Map
<
String
,
Object
>>
objMaps
=
this
.
queryForListByColumn
(
iSql
.
getName
(),
pkFieldMap
);
if
(
objMaps
!=
null
)
{
if
(
objMaps
.
size
()
==
1
)
{
String
[]
columnNames
=
iSql
.
getColumnNames
();
String
[]
fieldNames
=
iSql
.
getFieldNames
();
for
(
int
i
=
0
;
i
<
fieldNames
.
length
;
i
++)
{
String
fieldName
=
fieldNames
[
i
];
Object
fieldObj
=
ReflexUtil
.
readField
(
fieldName
,
obj
);
if
(
fieldObj
==
null
)
{
fieldObj
=
objMaps
.
get
(
0
).
get
(
columnNames
[
i
]);
if
(
fieldObj
!=
null
)
{
ReflexUtil
.
writeField
(
fieldName
,
obj
,
fieldObj
);
}
Map
<
String
,
Object
>
map
=
new
HashMap
<
String
,
Object
>();
Field
[]
fields
=
obj
.
getClass
().
getDeclaredFields
();
for
(
Field
field
:
fields
)
{
Object
fieldValue
=
ReflexUtil
.
getFieldValue
(
field
,
obj
);
if
(
fieldValue
!=
null
)
{
map
.
put
(
field
.
getName
(),
fieldValue
);
}
}
return
this
.
updateBy
Field
(
obj
,
byFields
);
return
this
.
updateBy
Column
(
iSql
.
getName
(),
iSql
.
getColumnPkNames
(),
map
);
}
else
if
(
objMaps
.
size
()
>
1
)
{
throw
new
MustBeOneRowException
();
}
else
{
...
...
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