Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
菜鸟阿达
paoding-rose-jade
提交
0b2d5ad0
P
paoding-rose-jade
项目概览
菜鸟阿达
/
paoding-rose-jade
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
paoding-rose-jade
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
0b2d5ad0
编写于
7月 16, 2020
作者:
菜鸟阿达
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
修复返回值为option时 缓存的key问题
上级
589ed422
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
19 addition
and
7 deletion
+19
-7
src/main/java/net/paoding/rose/jade/rowmapper/DefaultRowMapperFactory.java
.../paoding/rose/jade/rowmapper/DefaultRowMapperFactory.java
+19
-7
未找到文件。
src/main/java/net/paoding/rose/jade/rowmapper/DefaultRowMapperFactory.java
浏览文件 @
0b2d5ad0
...
...
@@ -27,7 +27,16 @@ import org.springframework.jdbc.core.ColumnMapRowMapper;
import
org.springframework.jdbc.core.RowMapper
;
import
org.springframework.jdbc.core.SingleColumnRowMapper
;
import
java.util.*
;
import
java.util.ArrayList
;
import
java.util.Collection
;
import
java.util.HashMap
;
import
java.util.HashSet
;
import
java.util.Iterator
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Optional
;
import
java.util.Set
;
/**
* 支持DAO方法返回类型:
...
...
@@ -113,13 +122,16 @@ public class DefaultRowMapperFactory implements RowMapperFactory {
}
else
{
boolean
checkColumns
=
(
rowHandler
==
null
)
||
rowHandler
.
checkColumns
();
boolean
checkProperties
=
(
rowHandler
!=
null
)
&&
rowHandler
.
checkProperties
();
String
key
=
rowType
.
getName
()
+
"[checkColumns="
+
checkColumns
+
"&checkProperties="
+
checkProperties
+
"]"
;
rowMapper
=
rowMappers
.
get
(
key
);
boolean
toOptional
=
rowType
==
Optional
.
class
;
Class
<?>[]
genericReturnTypes
=
modifier
.
getGenericReturnTypes
();
StringBuilder
key
=
new
StringBuilder
(
rowType
.
getName
());
key
.
append
(
"[checkColumns="
).
append
(
checkColumns
).
append
(
"&checkProperties="
).
append
(
checkProperties
);
if
(
genericReturnTypes
!=
null
&&
genericReturnTypes
.
length
==
1
)
{
key
.
append
(
"&genericReturnTypes="
).
append
(
genericReturnTypes
[
0
].
getTypeName
());
}
rowMapper
=
rowMappers
.
get
(
key
.
append
(
"]"
).
toString
());
if
(
rowMapper
==
null
)
{
boolean
toOptional
=
rowType
==
Optional
.
class
;
if
(
toOptional
)
{
Class
<?>[]
genericReturnTypes
=
modifier
.
getGenericReturnTypes
();
if
(
genericReturnTypes
==
null
||
genericReturnTypes
.
length
!=
1
)
{
throw
new
JadeExcetion
(
"option generic paradigm [T] is null or length not equal to 1"
);
}
...
...
@@ -128,7 +140,7 @@ public class DefaultRowMapperFactory implements RowMapperFactory {
// jade's BeanPropertyRowMapper here
rowMapper
=
new
BeanPropertyRowMapper
(
rowType
,
checkColumns
,
checkProperties
,
toOptional
);
rowMappers
.
put
(
key
,
rowMapper
);
rowMappers
.
put
(
key
.
toString
()
,
rowMapper
);
}
}
// 如果DAO方法最终返回的是Map,rowMapper要返回Map.Entry对象
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录