Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
后端镜像
java镜像
Smart Framework
提交
c90720ee
S
Smart Framework
项目概览
后端镜像
/
java镜像
/
Smart Framework
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
S
Smart Framework
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c90720ee
编写于
5月 14, 2014
作者:
黄
黄勇
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
【I】代码优化;提供 DataAccessor 接口及其默认实现
上级
d68e6268
变更
30
隐藏空白更改
内联
并排
Showing
30 changed file
with
415 addition
and
243 deletion
+415
-243
smart-framework/src/main/java/org/smart4j/framework/FrameworkConstant.java
...rc/main/java/org/smart4j/framework/FrameworkConstant.java
+3
-1
smart-framework/src/main/java/org/smart4j/framework/HelperLoader.java
...ork/src/main/java/org/smart4j/framework/HelperLoader.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/InstanceFactory.java
.../src/main/java/org/smart4j/framework/InstanceFactory.java
+17
-1
smart-framework/src/main/java/org/smart4j/framework/aop/AopHelper.java
...rk/src/main/java/org/smart4j/framework/aop/AopHelper.java
+2
-2
smart-framework/src/main/java/org/smart4j/framework/core/ClassHelper.java
...src/main/java/org/smart4j/framework/core/ClassHelper.java
+1
-0
smart-framework/src/main/java/org/smart4j/framework/core/ConfigHelper.java
...rc/main/java/org/smart4j/framework/core/ConfigHelper.java
+1
-0
smart-framework/src/main/java/org/smart4j/framework/dao/DataAccessor.java
...src/main/java/org/smart4j/framework/dao/DataAccessor.java
+79
-0
smart-framework/src/main/java/org/smart4j/framework/dao/DatabaseHelper.java
...c/main/java/org/smart4j/framework/dao/DatabaseHelper.java
+37
-213
smart-framework/src/main/java/org/smart4j/framework/dao/SqlHelper.java
...rk/src/main/java/org/smart4j/framework/dao/SqlHelper.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/dao/impl/DefaultDataAccessor.java
...a/org/smart4j/framework/dao/impl/DefaultDataAccessor.java
+247
-0
smart-framework/src/main/java/org/smart4j/framework/ds/DataSourceFactory.java
...main/java/org/smart4j/framework/ds/DataSourceFactory.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/ds/impl/AbstractDataSourceFactory.java
.../smart4j/framework/ds/impl/AbstractDataSourceFactory.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/ds/impl/DefaultDataSourceFactory.java
...g/smart4j/framework/ds/impl/DefaultDataSourceFactory.java
+3
-1
smart-framework/src/main/java/org/smart4j/framework/mvc/ContainerListener.java
...ain/java/org/smart4j/framework/mvc/ContainerListener.java
+2
-2
smart-framework/src/main/java/org/smart4j/framework/mvc/DispatcherServlet.java
...ain/java/org/smart4j/framework/mvc/DispatcherServlet.java
+2
-2
smart-framework/src/main/java/org/smart4j/framework/mvc/UploadHelper.java
...src/main/java/org/smart4j/framework/mvc/UploadHelper.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultHandlerExceptionResolver.java
...j/framework/mvc/impl/DefaultHandlerExceptionResolver.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultHandlerInvoker.java
...org/smart4j/framework/mvc/impl/DefaultHandlerInvoker.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultViewResolver.java
...a/org/smart4j/framework/mvc/impl/DefaultViewResolver.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/orm/DataSet.java
...work/src/main/java/org/smart4j/framework/orm/DataSet.java
+2
-2
smart-framework/src/main/java/org/smart4j/framework/plugin/PluginHelper.java
.../main/java/org/smart4j/framework/plugin/PluginHelper.java
+2
-2
smart-framework/src/main/java/org/smart4j/framework/test/OrderedRunner.java
...c/main/java/org/smart4j/framework/test/OrderedRunner.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/util/CodecUtil.java
...k/src/main/java/org/smart4j/framework/util/CodecUtil.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/util/FileUtil.java
...rk/src/main/java/org/smart4j/framework/util/FileUtil.java
+1
-1
smart-framework/src/main/java/org/smart4j/framework/util/WebUtil.java
...ork/src/main/java/org/smart4j/framework/util/WebUtil.java
+1
-1
smart-plugin-c3p0/src/main/java/org/smart4j/plugin/c3p0/C3P0DataSourceFactory.java
...n/java/org/smart4j/plugin/c3p0/C3P0DataSourceFactory.java
+1
-1
smart-plugin-druid/src/main/java/org/smart4j/plugin/druid/DruidDataSourceFactory.java
...java/org/smart4j/plugin/druid/DruidDataSourceFactory.java
+1
-1
smart-plugin-i18n/src/main/java/org/smart4j/plugin/i18n/I18NFilter.java
...18n/src/main/java/org/smart4j/plugin/i18n/I18NFilter.java
+1
-1
smart-plugin-i18n/src/main/java/org/smart4j/plugin/i18n/I18NPlugin.java
...18n/src/main/java/org/smart4j/plugin/i18n/I18NPlugin.java
+1
-1
smart-plugin-template/src/main/java/org/smart4j/plugin/template/impl/VelocityTemplateEngine.java
.../smart4j/plugin/template/impl/VelocityTemplateEngine.java
+1
-1
未找到文件。
smart-framework/src/main/java/org/smart4j/framework/
core/
FrameworkConstant.java
→
smart-framework/src/main/java/org/smart4j/framework/FrameworkConstant.java
浏览文件 @
c90720ee
package
org.smart4j.framework.core
;
package
org.smart4j.framework
;
import
org.smart4j.framework.core.ConfigHelper
;
public
interface
FrameworkConstant
{
...
...
smart-framework/src/main/java/org/smart4j/framework/
core/
HelperLoader.java
→
smart-framework/src/main/java/org/smart4j/framework/HelperLoader.java
浏览文件 @
c90720ee
package
org.smart4j.framework
.core
;
package
org.smart4j.framework
;
import
org.smart4j.framework.aop.AopHelper
;
import
org.smart4j.framework.dao.DatabaseHelper
;
...
...
smart-framework/src/main/java/org/smart4j/framework/
core/
InstanceFactory.java
→
smart-framework/src/main/java/org/smart4j/framework/InstanceFactory.java
浏览文件 @
c90720ee
package
org.smart4j.framework
.core
;
package
org.smart4j.framework
;
import
java.util.Map
;
import
java.util.concurrent.ConcurrentHashMap
;
import
org.smart4j.framework.core.ClassScanner
;
import
org.smart4j.framework.core.ConfigHelper
;
import
org.smart4j.framework.core.impl.DefaultClassScanner
;
import
org.smart4j.framework.dao.DataAccessor
;
import
org.smart4j.framework.dao.impl.DefaultDataAccessor
;
import
org.smart4j.framework.ds.DataSourceFactory
;
import
org.smart4j.framework.ds.impl.DefaultDataSourceFactory
;
import
org.smart4j.framework.mvc.HandlerExceptionResolver
;
...
...
@@ -39,6 +43,11 @@ public class InstanceFactory {
*/
private
static
final
String
DS_FACTORY
=
"smart.framework.custom.ds_factory"
;
/**
* DataAccessor
*/
private
static
final
String
DATA_ACCESSOR
=
"smart.framework.custom.data_accessor"
;
/**
* HandlerMapping
*/
...
...
@@ -73,6 +82,13 @@ public class InstanceFactory {
return
getInstance
(
DS_FACTORY
,
DefaultDataSourceFactory
.
class
);
}
/**
* 获取 DataAccessor
*/
public
static
DataAccessor
getDataAccessor
()
{
return
getInstance
(
DATA_ACCESSOR
,
DefaultDataAccessor
.
class
);
}
/**
* 获取 HandlerMapping
*/
...
...
smart-framework/src/main/java/org/smart4j/framework/aop/AopHelper.java
浏览文件 @
c90720ee
...
...
@@ -8,14 +8,14 @@ import java.util.HashMap;
import
java.util.LinkedHashMap
;
import
java.util.List
;
import
java.util.Map
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.InstanceFactory
;
import
org.smart4j.framework.aop.annotation.Aspect
;
import
org.smart4j.framework.aop.annotation.AspectOrder
;
import
org.smart4j.framework.aop.proxy.Proxy
;
import
org.smart4j.framework.aop.proxy.ProxyManager
;
import
org.smart4j.framework.core.ClassHelper
;
import
org.smart4j.framework.core.ClassScanner
;
import
org.smart4j.framework.core.FrameworkConstant
;
import
org.smart4j.framework.core.InstanceFactory
;
import
org.smart4j.framework.core.fault.InitializationError
;
import
org.smart4j.framework.ioc.BeanHelper
;
import
org.smart4j.framework.plugin.PluginProxy
;
...
...
smart-framework/src/main/java/org/smart4j/framework/core/ClassHelper.java
浏览文件 @
c90720ee
...
...
@@ -2,6 +2,7 @@ package org.smart4j.framework.core;
import
java.lang.annotation.Annotation
;
import
java.util.List
;
import
org.smart4j.framework.InstanceFactory
;
/**
* 根据条件获取相关类
...
...
smart-framework/src/main/java/org/smart4j/framework/core/ConfigHelper.java
浏览文件 @
c90720ee
...
...
@@ -2,6 +2,7 @@ package org.smart4j.framework.core;
import
java.util.Map
;
import
java.util.Properties
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.util.PropsUtil
;
/**
...
...
smart-framework/src/main/java/org/smart4j/framework/dao/DataAccessor.java
0 → 100644
浏览文件 @
c90720ee
package
org.smart4j.framework.dao
;
import
java.io.Serializable
;
import
java.util.List
;
import
java.util.Map
;
/**
* 数据访问器
*
* @author huangyong
* @since 2.3
*/
public
interface
DataAccessor
{
/**
* 查询对应的实体,返回单条记录
*/
<
T
>
T
queryEntity
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
);
/**
* 查询对应的实体列表,返回多条记录
*/
<
T
>
List
<
T
>
queryEntityList
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
);
/**
* 查询对应的实体列表,返回单条记录(主键 => 实体)
*/
<
K
,
V
>
Map
<
K
,
V
>
queryEntityMap
(
Class
<
V
>
entityClass
,
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回单条记录
*/
Object
[]
queryArray
(
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回多条记录
*/
List
<
Object
[]>
queryArrayList
(
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回单条记录(列名 => 数据)
*/
Map
<
String
,
Object
>
queryMap
(
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回多条记录(列名 => 数据)
*/
List
<
Map
<
String
,
Object
>>
queryMapList
(
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回单条数据(列名 => 数据)
*/
<
T
>
T
queryColumn
(
String
sql
,
Object
...
params
);
/**
* 查询对应的数据,返回多条数据(列名 => 数据)
*/
<
T
>
List
<
T
>
queryColumnList
(
String
sql
,
Object
...
params
);
/**
* 查询指定列名对应的数据,返回多条数据(列名对应的数据 => 列名与数据的映射关系)
*/
<
T
>
Map
<
T
,
Map
<
String
,
Object
>>
queryColumnMap
(
String
column
,
String
sql
,
Object
...
params
);
/**
* 查询记录条数,返回总记录数
*/
long
queryCount
(
String
sql
,
Object
...
params
);
/**
* 执行更新操作(包括:update、insert、delete)
*/
int
update
(
String
sql
,
Object
...
params
);
/**
* 插入一条记录,返回插入后的主键
*/
Serializable
insertReturnPK
(
String
sql
,
Object
...
params
);
}
smart-framework/src/main/java/org/smart4j/framework/dao/DatabaseHelper.java
浏览文件 @
c90720ee
...
...
@@ -3,38 +3,17 @@ package org.smart4j.framework.dao;
import
java.io.File
;
import
java.io.Serializable
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.LinkedHashSet
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
javax.sql.DataSource
;
import
org.apache.commons.dbutils.BasicRowProcessor
;
import
org.apache.commons.dbutils.BeanProcessor
;
import
org.apache.commons.dbutils.QueryRunner
;
import
org.apache.commons.dbutils.handlers.ArrayHandler
;
import
org.apache.commons.dbutils.handlers.ArrayListHandler
;
import
org.apache.commons.dbutils.handlers.BeanHandler
;
import
org.apache.commons.dbutils.handlers.BeanListHandler
;
import
org.apache.commons.dbutils.handlers.BeanMapHandler
;
import
org.apache.commons.dbutils.handlers.ColumnListHandler
;
import
org.apache.commons.dbutils.handlers.KeyedHandler
;
import
org.apache.commons.dbutils.handlers.MapHandler
;
import
org.apache.commons.dbutils.handlers.MapListHandler
;
import
org.apache.commons.dbutils.handlers.ScalarHandler
;
import
org.apache.commons.io.FileUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.InstanceFactory
;
import
org.smart4j.framework.core.ConfigHelper
;
import
org.smart4j.framework.core.InstanceFactory
;
import
org.smart4j.framework.ds.DataSourceFactory
;
import
org.smart4j.framework.orm.EntityHelper
;
import
org.smart4j.framework.util.ArrayUtil
;
import
org.smart4j.framework.util.ClassUtil
;
import
org.smart4j.framework.util.MapUtil
;
import
org.smart4j.framework.util.StringUtil
;
/**
* 封装数据库相关操作
...
...
@@ -52,34 +31,19 @@ public class DatabaseHelper {
private
static
final
ThreadLocal
<
Connection
>
connContainer
=
new
ThreadLocal
<
Connection
>();
/**
* 获取数据源工厂
(用于获取数据源)
* 获取数据源工厂
*/
private
static
final
DataSourceFactory
dataSourceFactory
=
InstanceFactory
.
getDataSourceFactory
();
/**
*
数据库类型
*
获取数据访问器
*/
private
static
final
String
databaseType
=
ConfigHelper
.
getString
(
"smart.framework.jdbc.type"
);
private
static
final
DataAccessor
dataAccessor
=
InstanceFactory
.
getDataAccessor
(
);
/**
* 数据源
*/
private
static
final
DataSource
dataSource
;
/**
* Apache Commons DbUtils 的 QueryRunner
* 数据库类型
*/
private
static
final
QueryRunner
queryRunner
;
static
{
if
(
StringUtil
.
isNotEmpty
(
databaseType
))
{
dataSource
=
getDataSource
();
queryRunner
=
new
QueryRunner
(
dataSource
);
}
else
{
dataSource
=
null
;
queryRunner
=
null
;
}
}
private
static
final
String
databaseType
=
ConfigHelper
.
getString
(
"smart.framework.jdbc.type"
);
/**
* 获取数据库类型
...
...
@@ -105,7 +69,7 @@ public class DatabaseHelper {
conn
=
connContainer
.
get
();
if
(
conn
==
null
)
{
// 若不存在,则从 DataSource 中获取 Connection
conn
=
dataSource
.
getConnection
();
conn
=
getDataSource
()
.
getConnection
();
// 将 Connection 放入 ThreadLocal 中
if
(
conn
!=
null
)
{
connContainer
.
set
(
conn
);
...
...
@@ -172,249 +136,109 @@ public class DatabaseHelper {
}
/**
*
根据 SQL 语句查询 Entity
*
初始化 SQL 脚本
*/
public
static
<
T
>
T
queryEntity
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
)
{
T
result
;
public
static
void
initSQL
(
String
sqlPath
)
{
try
{
Map
<
String
,
String
>
fieldMap
=
EntityHelper
.
getEntityMap
().
get
(
entityClass
);
if
(
MapUtil
.
isNotEmpty
(
fieldMap
))
{
result
=
queryRunner
.
query
(
sql
,
new
BeanHandler
<
T
>(
entityClass
,
new
BasicRowProcessor
(
new
BeanProcessor
(
fieldMap
))),
params
);
}
else
{
result
=
queryRunner
.
query
(
sql
,
new
BeanHandler
<
T
>(
entityClass
),
params
);
File
sqlFile
=
new
File
(
ClassUtil
.
getClassPath
()
+
sqlPath
);
List
<
String
>
sqlList
=
FileUtils
.
readLines
(
sqlFile
);
for
(
String
sql
:
sqlList
)
{
update
(
sql
);
}
}
catch
(
SQL
Exception
e
)
{
logger
.
error
(
"
查询
出错!"
,
e
);
}
catch
(
Exception
e
)
{
logger
.
error
(
"
初始化 SQL 脚本
出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
}
/**
* 根据 SQL 语句查询 Entity
*/
public
static
<
T
>
T
queryEntity
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
)
{
return
dataAccessor
.
queryEntity
(
entityClass
,
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Entity 列表
*/
public
static
<
T
>
List
<
T
>
queryEntityList
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
)
{
List
<
T
>
result
;
try
{
Map
<
String
,
String
>
fieldMap
=
EntityHelper
.
getEntityMap
().
get
(
entityClass
);
if
(
MapUtil
.
isNotEmpty
(
fieldMap
))
{
result
=
queryRunner
.
query
(
sql
,
new
BeanListHandler
<
T
>(
entityClass
,
new
BasicRowProcessor
(
new
BeanProcessor
(
fieldMap
))),
params
);
}
else
{
result
=
queryRunner
.
query
(
sql
,
new
BeanListHandler
<
T
>(
entityClass
),
params
);
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
return
dataAccessor
.
queryEntityList
(
entityClass
,
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Entity 映射(Field Name => Field Value)
*/
public
static
<
K
,
V
>
Map
<
K
,
V
>
queryEntityMap
(
Class
<
V
>
entityClass
,
String
sql
,
Object
...
params
)
{
Map
<
K
,
V
>
entityMap
;
try
{
entityMap
=
queryRunner
.
query
(
sql
,
new
BeanMapHandler
<
K
,
V
>(
entityClass
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
entityMap
;
return
dataAccessor
.
queryEntityMap
(
entityClass
,
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Array 格式的字段(单条记录)
*/
public
static
Object
[]
queryArray
(
String
sql
,
Object
...
params
)
{
Object
[]
array
;
try
{
array
=
queryRunner
.
query
(
sql
,
new
ArrayHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
array
;
return
dataAccessor
.
queryArray
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Array 格式的字段列表(多条记录)
*/
public
static
List
<
Object
[]>
queryArrayList
(
String
sql
,
Object
...
params
)
{
List
<
Object
[]>
arrayList
;
try
{
arrayList
=
queryRunner
.
query
(
sql
,
new
ArrayListHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
arrayList
;
return
dataAccessor
.
queryArrayList
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Map 格式的字段(单条记录)
*/
public
static
Map
<
String
,
Object
>
queryMap
(
String
sql
,
Object
...
params
)
{
Map
<
String
,
Object
>
map
;
try
{
map
=
queryRunner
.
query
(
sql
,
new
MapHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
map
;
return
dataAccessor
.
queryMap
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询 Map 格式的字段列表(多条记录)
*/
public
static
List
<
Map
<
String
,
Object
>>
queryMapList
(
String
sql
,
Object
...
params
)
{
List
<
Map
<
String
,
Object
>>
fieldMapList
;
try
{
fieldMapList
=
queryRunner
.
query
(
sql
,
new
MapListHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
fieldMapList
;
return
dataAccessor
.
queryMapList
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询指定字段(单条记录)
*/
public
static
<
T
>
T
queryField
(
String
sql
,
Object
...
params
)
{
T
entity
;
try
{
entity
=
queryRunner
.
query
(
sql
,
new
ScalarHandler
<
T
>(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
entity
;
public
static
<
T
>
T
queryColumn
(
String
sql
,
Object
...
params
)
{
return
dataAccessor
.
queryColumn
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询指定字段列表(多条记录)
*/
public
static
<
T
>
List
<
T
>
queryFieldList
(
String
sql
,
Object
...
params
)
{
List
<
T
>
list
;
try
{
list
=
queryRunner
.
query
(
sql
,
new
ColumnListHandler
<
T
>(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
list
;
}
/**
* 根据 SQL 语句查询指定字段集合(多条记录)
*/
public
static
<
T
>
Set
<
T
>
queryFieldSet
(
String
sql
,
Object
...
params
)
{
List
<
T
>
list
=
queryFieldList
(
sql
,
params
);
return
new
LinkedHashSet
<
T
>(
list
);
public
static
<
T
>
List
<
T
>
queryColumnList
(
String
sql
,
Object
...
params
)
{
return
dataAccessor
.
queryColumnList
(
sql
,
params
);
}
/**
* 根据 SQL 语句查询指定字段映射(多条记录)
*/
public
static
<
T
>
Map
<
T
,
Map
<
String
,
Object
>>
queryFieldMap
(
String
column
,
String
sql
,
Object
...
params
)
{
Map
<
T
,
Map
<
String
,
Object
>>
map
;
try
{
map
=
queryRunner
.
query
(
sql
,
new
KeyedHandler
<
T
>(
column
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
map
;
public
static
<
T
>
Map
<
T
,
Map
<
String
,
Object
>>
queryColumnMap
(
String
column
,
String
sql
,
Object
...
params
)
{
return
dataAccessor
.
queryColumnMap
(
column
,
sql
,
params
);
}
/**
* 根据 SQL 语句查询记录条数
*/
public
static
long
queryCount
(
String
sql
,
Object
...
params
)
{
long
result
;
try
{
result
=
queryRunner
.
query
(
sql
,
new
ScalarHandler
<
Long
>(
"count(*)"
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
return
dataAccessor
.
queryCount
(
sql
,
params
);
}
/**
* 执行更新语句(包括:update、insert、delete)
*/
public
static
int
update
(
String
sql
,
Object
...
params
)
{
int
result
;
try
{
Connection
conn
=
getConnection
();
result
=
queryRunner
.
update
(
conn
,
sql
,
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"更新出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
return
dataAccessor
.
update
(
sql
,
params
);
}
/**
* 执行插入语句,返回插入后的主键
*/
public
static
Serializable
insertReturnPK
(
String
sql
,
Object
...
params
)
{
Serializable
key
=
null
;
Connection
conn
=
getConnection
();
try
{
PreparedStatement
pstmt
=
conn
.
prepareStatement
(
sql
,
PreparedStatement
.
RETURN_GENERATED_KEYS
);
if
(
ArrayUtil
.
isNotEmpty
(
params
))
{
for
(
int
i
=
0
;
i
<
params
.
length
;
i
++)
{
pstmt
.
setObject
(
i
+
1
,
params
[
i
]);
}
}
int
rows
=
pstmt
.
executeUpdate
();
if
(
rows
==
1
)
{
ResultSet
rs
=
pstmt
.
getGeneratedKeys
();
if
(
rs
.
next
())
{
key
=
(
Serializable
)
rs
.
getObject
(
1
);
}
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
"插入出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
key
;
}
/**
* 初始化 SQL 脚本
*/
public
static
void
initSQL
(
String
sqlPath
)
{
try
{
File
sqlFile
=
new
File
(
ClassUtil
.
getClassPath
()
+
sqlPath
);
List
<
String
>
sqlList
=
FileUtils
.
readLines
(
sqlFile
);
for
(
String
sql
:
sqlList
)
{
update
(
sql
);
}
}
catch
(
Exception
e
)
{
logger
.
error
(
"初始化 SQL 脚本出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
}
private
static
void
printSQL
(
String
sql
)
{
logger
.
debug
(
"[Smart] SQL - {}"
,
sql
);
return
dataAccessor
.
insertReturnPK
(
sql
,
params
);
}
}
smart-framework/src/main/java/org/smart4j/framework/dao/SqlHelper.java
浏览文件 @
c90720ee
...
...
@@ -3,7 +3,7 @@ package org.smart4j.framework.dao;
import
java.util.Collection
;
import
java.util.Map
;
import
java.util.Properties
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.orm.annotation.Table
;
import
org.smart4j.framework.util.CollectionUtil
;
import
org.smart4j.framework.util.MapUtil
;
...
...
smart-framework/src/main/java/org/smart4j/framework/dao/impl/DefaultDataAccessor.java
0 → 100644
浏览文件 @
c90720ee
package
org.smart4j.framework.dao.impl
;
import
java.io.Serializable
;
import
java.sql.Connection
;
import
java.sql.PreparedStatement
;
import
java.sql.ResultSet
;
import
java.sql.SQLException
;
import
java.util.List
;
import
java.util.Map
;
import
javax.sql.DataSource
;
import
org.apache.commons.dbutils.BasicRowProcessor
;
import
org.apache.commons.dbutils.BeanProcessor
;
import
org.apache.commons.dbutils.QueryRunner
;
import
org.apache.commons.dbutils.handlers.ArrayHandler
;
import
org.apache.commons.dbutils.handlers.ArrayListHandler
;
import
org.apache.commons.dbutils.handlers.BeanHandler
;
import
org.apache.commons.dbutils.handlers.BeanListHandler
;
import
org.apache.commons.dbutils.handlers.BeanMapHandler
;
import
org.apache.commons.dbutils.handlers.ColumnListHandler
;
import
org.apache.commons.dbutils.handlers.KeyedHandler
;
import
org.apache.commons.dbutils.handlers.MapHandler
;
import
org.apache.commons.dbutils.handlers.MapListHandler
;
import
org.apache.commons.dbutils.handlers.ScalarHandler
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.dao.DataAccessor
;
import
org.smart4j.framework.dao.DatabaseHelper
;
import
org.smart4j.framework.orm.EntityHelper
;
import
org.smart4j.framework.util.ArrayUtil
;
import
org.smart4j.framework.util.MapUtil
;
/**
* 默认数据访问器
* <br/>
* 基于 Apache Commons DbUtils 实现
*
* @author huangyong
* @since 2.3
*/
public
class
DefaultDataAccessor
implements
DataAccessor
{
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
DefaultDataAccessor
.
class
);
private
final
QueryRunner
queryRunner
;
public
DefaultDataAccessor
()
{
DataSource
dataSource
=
DatabaseHelper
.
getDataSource
();
queryRunner
=
new
QueryRunner
(
dataSource
);
}
@Override
public
<
T
>
T
queryEntity
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
)
{
T
result
;
try
{
Map
<
String
,
String
>
fieldMap
=
EntityHelper
.
getEntityMap
().
get
(
entityClass
);
if
(
MapUtil
.
isNotEmpty
(
fieldMap
))
{
result
=
queryRunner
.
query
(
sql
,
new
BeanHandler
<
T
>(
entityClass
,
new
BasicRowProcessor
(
new
BeanProcessor
(
fieldMap
))),
params
);
}
else
{
result
=
queryRunner
.
query
(
sql
,
new
BeanHandler
<
T
>(
entityClass
),
params
);
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
}
@Override
public
<
T
>
List
<
T
>
queryEntityList
(
Class
<
T
>
entityClass
,
String
sql
,
Object
...
params
)
{
List
<
T
>
result
;
try
{
Map
<
String
,
String
>
fieldMap
=
EntityHelper
.
getEntityMap
().
get
(
entityClass
);
if
(
MapUtil
.
isNotEmpty
(
fieldMap
))
{
result
=
queryRunner
.
query
(
sql
,
new
BeanListHandler
<
T
>(
entityClass
,
new
BasicRowProcessor
(
new
BeanProcessor
(
fieldMap
))),
params
);
}
else
{
result
=
queryRunner
.
query
(
sql
,
new
BeanListHandler
<
T
>(
entityClass
),
params
);
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
}
@Override
public
<
K
,
V
>
Map
<
K
,
V
>
queryEntityMap
(
Class
<
V
>
entityClass
,
String
sql
,
Object
...
params
)
{
Map
<
K
,
V
>
entityMap
;
try
{
entityMap
=
queryRunner
.
query
(
sql
,
new
BeanMapHandler
<
K
,
V
>(
entityClass
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
entityMap
;
}
@Override
public
Object
[]
queryArray
(
String
sql
,
Object
...
params
)
{
Object
[]
array
;
try
{
array
=
queryRunner
.
query
(
sql
,
new
ArrayHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
array
;
}
@Override
public
List
<
Object
[]>
queryArrayList
(
String
sql
,
Object
...
params
)
{
List
<
Object
[]>
arrayList
;
try
{
arrayList
=
queryRunner
.
query
(
sql
,
new
ArrayListHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
arrayList
;
}
@Override
public
Map
<
String
,
Object
>
queryMap
(
String
sql
,
Object
...
params
)
{
Map
<
String
,
Object
>
map
;
try
{
map
=
queryRunner
.
query
(
sql
,
new
MapHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
map
;
}
@Override
public
List
<
Map
<
String
,
Object
>>
queryMapList
(
String
sql
,
Object
...
params
)
{
List
<
Map
<
String
,
Object
>>
fieldMapList
;
try
{
fieldMapList
=
queryRunner
.
query
(
sql
,
new
MapListHandler
(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
fieldMapList
;
}
@Override
public
<
T
>
T
queryColumn
(
String
sql
,
Object
...
params
)
{
T
entity
;
try
{
entity
=
queryRunner
.
query
(
sql
,
new
ScalarHandler
<
T
>(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
entity
;
}
@Override
public
<
T
>
List
<
T
>
queryColumnList
(
String
sql
,
Object
...
params
)
{
List
<
T
>
list
;
try
{
list
=
queryRunner
.
query
(
sql
,
new
ColumnListHandler
<
T
>(),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
list
;
}
@Override
public
<
T
>
Map
<
T
,
Map
<
String
,
Object
>>
queryColumnMap
(
String
column
,
String
sql
,
Object
...
params
)
{
Map
<
T
,
Map
<
String
,
Object
>>
map
;
try
{
map
=
queryRunner
.
query
(
sql
,
new
KeyedHandler
<
T
>(
column
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
map
;
}
@Override
public
long
queryCount
(
String
sql
,
Object
...
params
)
{
long
result
;
try
{
result
=
queryRunner
.
query
(
sql
,
new
ScalarHandler
<
Long
>(
"count(*)"
),
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"查询出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
}
@Override
public
int
update
(
String
sql
,
Object
...
params
)
{
int
result
;
try
{
Connection
conn
=
DatabaseHelper
.
getConnection
();
result
=
queryRunner
.
update
(
conn
,
sql
,
params
);
}
catch
(
SQLException
e
)
{
logger
.
error
(
"更新出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
result
;
}
@Override
public
Serializable
insertReturnPK
(
String
sql
,
Object
...
params
)
{
Serializable
key
=
null
;
try
{
Connection
conn
=
DatabaseHelper
.
getConnection
();
PreparedStatement
pstmt
=
conn
.
prepareStatement
(
sql
,
PreparedStatement
.
RETURN_GENERATED_KEYS
);
if
(
ArrayUtil
.
isNotEmpty
(
params
))
{
for
(
int
i
=
0
;
i
<
params
.
length
;
i
++)
{
pstmt
.
setObject
(
i
+
1
,
params
[
i
]);
}
}
int
rows
=
pstmt
.
executeUpdate
();
if
(
rows
==
1
)
{
ResultSet
rs
=
pstmt
.
getGeneratedKeys
();
if
(
rs
.
next
())
{
key
=
(
Serializable
)
rs
.
getObject
(
1
);
}
}
}
catch
(
SQLException
e
)
{
logger
.
error
(
"插入出错!"
,
e
);
throw
new
RuntimeException
(
e
);
}
printSQL
(
sql
);
return
key
;
}
private
static
void
printSQL
(
String
sql
)
{
logger
.
debug
(
"[Smart] SQL - {}"
,
sql
);
}
}
smart-framework/src/main/java/org/smart4j/framework/ds/DataSourceFactory.java
浏览文件 @
c90720ee
...
...
@@ -3,7 +3,7 @@ package org.smart4j.framework.ds;
import
javax.sql.DataSource
;
/**
* 数据源工厂
接口
* 数据源工厂
*
* @author huangyong
* @since 2.3
...
...
smart-framework/src/main/java/org/smart4j/framework/ds/impl/AbstractDataSourceFactory.java
浏览文件 @
c90720ee
...
...
@@ -6,7 +6,7 @@ import org.smart4j.framework.ds.DataSourceFactory;
import
org.smart4j.framework.util.StringUtil
;
/**
* 抽象数据源工厂
接口实现类
* 抽象数据源工厂
*
* @author huangyong
* @since 2.3
...
...
smart-framework/src/main/java/org/smart4j/framework/ds/impl/DefaultDataSourceFactory.java
浏览文件 @
c90720ee
...
...
@@ -3,7 +3,9 @@ package org.smart4j.framework.ds.impl;
import
org.apache.commons.dbcp.BasicDataSource
;
/**
* 默认数据源工厂接口实现类
* 默认数据源工厂
* <br/>
* 基于 Apache Commons DBCP 实现
*
* @author huangyong
* @since 2.3
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/ContainerListener.java
浏览文件 @
c90720ee
...
...
@@ -6,8 +6,8 @@ import javax.servlet.ServletContextEvent;
import
javax.servlet.ServletContextListener
;
import
javax.servlet.ServletRegistration
;
import
javax.servlet.annotation.WebListener
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.
core.
HelperLoader
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.HelperLoader
;
import
org.smart4j.framework.plugin.Plugin
;
import
org.smart4j.framework.plugin.PluginHelper
;
import
org.smart4j.framework.plugin.WebPlugin
;
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/DispatcherServlet.java
浏览文件 @
c90720ee
...
...
@@ -10,8 +10,8 @@ import javax.servlet.http.HttpServletRequest;
import
javax.servlet.http.HttpServletResponse
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.
core.
InstanceFactory
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.InstanceFactory
;
import
org.smart4j.framework.util.WebUtil
;
/**
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/UploadHelper.java
浏览文件 @
c90720ee
...
...
@@ -18,7 +18,7 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import
org.apache.commons.fileupload.servlet.ServletFileUpload
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.mvc.bean.Multipart
;
import
org.smart4j.framework.mvc.bean.Multiparts
;
import
org.smart4j.framework.mvc.bean.Params
;
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultHandlerExceptionResolver.java
浏览文件 @
c90720ee
...
...
@@ -2,7 +2,7 @@ package org.smart4j.framework.mvc.impl;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.mvc.HandlerExceptionResolver
;
import
org.smart4j.framework.mvc.fault.AccessException
;
import
org.smart4j.framework.mvc.fault.PermissionException
;
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultHandlerInvoker.java
浏览文件 @
c90720ee
...
...
@@ -8,7 +8,7 @@ import java.util.Map;
import
java.util.regex.Matcher
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.smart4j.framework.
core.
InstanceFactory
;
import
org.smart4j.framework.InstanceFactory
;
import
org.smart4j.framework.ioc.BeanHelper
;
import
org.smart4j.framework.mvc.Handler
;
import
org.smart4j.framework.mvc.HandlerInvoker
;
...
...
smart-framework/src/main/java/org/smart4j/framework/mvc/impl/DefaultViewResolver.java
浏览文件 @
c90720ee
...
...
@@ -3,7 +3,7 @@ package org.smart4j.framework.mvc.impl;
import
java.util.Map
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.mvc.UploadHelper
;
import
org.smart4j.framework.mvc.ViewResolver
;
import
org.smart4j.framework.mvc.bean.Result
;
...
...
smart-framework/src/main/java/org/smart4j/framework/orm/DataSet.java
浏览文件 @
c90720ee
...
...
@@ -168,7 +168,7 @@ public class DataSet {
*/
public
static
<
T
>
T
selectColumn
(
Class
<
T
>
entityClass
,
String
columnName
,
String
condition
,
Object
...
params
)
{
String
sql
=
SqlHelper
.
generateSelectSql
(
entityClass
,
condition
,
""
);
return
DatabaseHelper
.
query
Field
(
columnName
,
sql
,
params
);
return
DatabaseHelper
.
query
Column
(
columnName
,
sql
,
params
);
}
/**
...
...
@@ -176,6 +176,6 @@ public class DataSet {
*/
public
static
<
T
>
List
<
T
>
selectColumnList
(
Class
<?>
entityClass
,
String
columnName
,
String
condition
,
String
sort
,
Object
...
params
)
{
String
sql
=
SqlHelper
.
generateSelectSql
(
entityClass
,
condition
,
sort
);
return
DatabaseHelper
.
query
Field
List
(
columnName
,
sql
,
params
);
return
DatabaseHelper
.
query
Column
List
(
columnName
,
sql
,
params
);
}
}
smart-framework/src/main/java/org/smart4j/framework/plugin/PluginHelper.java
浏览文件 @
c90720ee
...
...
@@ -2,9 +2,9 @@ package org.smart4j.framework.plugin;
import
java.util.ArrayList
;
import
java.util.List
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.InstanceFactory
;
import
org.smart4j.framework.core.ClassScanner
;
import
org.smart4j.framework.core.FrameworkConstant
;
import
org.smart4j.framework.core.InstanceFactory
;
import
org.smart4j.framework.core.fault.InitializationError
;
/**
...
...
smart-framework/src/main/java/org/smart4j/framework/test/OrderedRunner.java
浏览文件 @
c90720ee
...
...
@@ -6,7 +6,7 @@ import java.util.List;
import
org.junit.runners.BlockJUnit4ClassRunner
;
import
org.junit.runners.model.FrameworkMethod
;
import
org.junit.runners.model.InitializationError
;
import
org.smart4j.framework.
core.
HelperLoader
;
import
org.smart4j.framework.HelperLoader
;
import
org.smart4j.framework.test.annotation.TestOrder
;
/**
...
...
smart-framework/src/main/java/org/smart4j/framework/util/CodecUtil.java
浏览文件 @
c90720ee
...
...
@@ -9,7 +9,7 @@ import org.apache.commons.codec.digest.DigestUtils;
import
org.apache.commons.lang.RandomStringUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
/**
* 编码与解码操作工具类
...
...
smart-framework/src/main/java/org/smart4j/framework/util/FileUtil.java
浏览文件 @
c90720ee
...
...
@@ -10,7 +10,7 @@ import org.apache.commons.io.FileUtils;
import
org.apache.commons.io.FilenameUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
/**
* 文件操作工具类
...
...
smart-framework/src/main/java/org/smart4j/framework/util/WebUtil.java
浏览文件 @
c90720ee
...
...
@@ -22,7 +22,7 @@ import javax.servlet.http.HttpServletResponse;
import
org.apache.commons.io.FilenameUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
/**
* Web 操作工具类
...
...
smart-plugin-c3p0/src/main/java/org/smart4j/plugin/c3p0/C3P0DataSourceFactory.java
浏览文件 @
c90720ee
...
...
@@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
import
org.smart4j.framework.ds.impl.AbstractDataSourceFactory
;
/**
* 基于 C3P0 的数据源工厂
接口实现类
* 基于 C3P0 的数据源工厂
*
* @author huangyong
* @since 2.3
...
...
smart-plugin-druid/src/main/java/org/smart4j/plugin/druid/DruidDataSourceFactory.java
浏览文件 @
c90720ee
...
...
@@ -7,7 +7,7 @@ import org.slf4j.LoggerFactory;
import
org.smart4j.framework.ds.impl.AbstractDataSourceFactory
;
/**
* 基于 Durid 的数据源工厂
接口实现类
* 基于 Durid 的数据源工厂
*
* @author huangyong
* @since 2.3
...
...
smart-plugin-i18n/src/main/java/org/smart4j/plugin/i18n/I18NFilter.java
浏览文件 @
c90720ee
...
...
@@ -12,8 +12,8 @@ import javax.servlet.ServletRequest;
import
javax.servlet.ServletResponse
;
import
javax.servlet.annotation.WebFilter
;
import
javax.servlet.http.HttpServletRequest
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.core.ConfigHelper
;
import
org.smart4j.framework.core.FrameworkConstant
;
import
org.smart4j.framework.util.ClassUtil
;
import
org.smart4j.framework.util.StringUtil
;
import
org.smart4j.framework.util.WebUtil
;
...
...
smart-plugin-i18n/src/main/java/org/smart4j/plugin/i18n/I18NPlugin.java
浏览文件 @
c90720ee
...
...
@@ -5,7 +5,7 @@ import java.util.Enumeration;
import
java.util.HashMap
;
import
java.util.Map
;
import
java.util.Properties
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.plugin.Plugin
;
import
org.smart4j.framework.util.ArrayUtil
;
import
org.smart4j.framework.util.ClassUtil
;
...
...
smart-plugin-template/src/main/java/org/smart4j/plugin/template/impl/VelocityTemplateEngine.java
浏览文件 @
c90720ee
...
...
@@ -12,7 +12,7 @@ import org.apache.velocity.runtime.RuntimeConstants;
import
org.apache.velocity.runtime.log.NullLogChute
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.smart4j.framework.
core.
FrameworkConstant
;
import
org.smart4j.framework.FrameworkConstant
;
import
org.smart4j.framework.util.ClassUtil
;
import
org.smart4j.framework.util.FileUtil
;
import
org.smart4j.plugin.template.TemplateEngine
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录