فهرست منبع

修改为驼峰命名

周浩 9 سال پیش
والد
کامیت
f5cecd8e7f
74فایلهای تغییر یافته به همراه1764 افزوده شده و 805 حذف شده
  1. 18 13
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/QueryParam.java
  2. 65 0
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/Sort.java
  3. 2 0
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/SqlParam.java
  4. 7 7
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/GenericPo.java
  5. 133 0
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/classified/Classified.java
  6. 10 10
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/config/Config.java
  7. 10 10
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/form/Form.java
  8. 34 34
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/history/History.java
  9. 89 89
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/logger/LoggerInfo.java
  10. 27 27
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/module/Module.java
  11. 10 10
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/module/ModuleMeta.java
  12. 21 14
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/resource/Resources.java
  13. 13 48
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/role/RoleModule.java
  14. 12 12
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/role/UserRole.java
  15. 15 15
      hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/user/User.java
  16. 25 2
      hsweb-web-bean/src/main/resources/system/install/sql/h2/install.sql
  17. 18 0
      hsweb-web-bean/src/main/resources/system/install/sql/mysql/install.sql
  18. 24 1
      hsweb-web-bean/src/main/resources/system/install/sql/oracle/install.sql
  19. 6 6
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/AopAccessLoggerResolverConfiguration.java
  20. 4 3
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/GenericController.java
  21. 28 0
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/classified/ClassifiedController.java
  22. 4 4
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java
  23. 6 4
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java
  24. 1 1
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleMetaController.java
  25. 4 25
      hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java
  26. 10 10
      hsweb-web-core/src/main/java/org/hsweb/web/core/logger/AopAccessLoggerResolver.java
  27. 118 2
      hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/builder/DefaultSqlParamBuilder.java
  28. 10 0
      hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/builder/MysqlParamBuilder.java
  29. 61 0
      hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/handler/JsonArrayHandler.java
  30. 1 1
      hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/plgins/pager/PagerInterceptor.java
  31. 17 88
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/basic/BasicMapper.xml
  32. 214 0
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/basic/BasicMapper.xml.old
  33. 71 0
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/classified/ClassifiedMapper.xml
  34. 7 8
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/config/ConfigMapper.xml
  35. 8 8
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/form/FormMapper.xml
  36. 16 16
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/history/HistoryMapper.xml
  37. 10 10
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/module/ModuleMapper.xml
  38. 9 9
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/resource/ResourcesMapper.xml
  39. 4 4
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/RoleMapper.xml
  40. 9 8
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/RoleModuleMapper.xml
  41. 6 6
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/UserRoleMapper.xml
  42. 7 6
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/script/DynamicScriptMapper.xml
  43. 10 10
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml
  44. 12 111
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml
  45. 245 0
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml.old
  46. 71 0
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/classified/ClassifiedMapper.xml
  47. 7 9
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/config/ConfigMapper.xml
  48. 17 13
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/form/FormMapper.xml
  49. 17 16
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/history/HistoryMapper.xml
  50. 10 10
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/module/ModuleMapper.xml
  51. 9 9
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/resource/ResourcesMapper.xml
  52. 4 4
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/RoleMapper.xml
  53. 9 8
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/RoleModuleMapper.xml
  54. 6 6
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/UserRoleMapper.xml
  55. 7 6
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/script/DynamicScriptMapper.xml
  56. 10 10
      hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml
  57. 12 0
      hsweb-web-dao-interface/src/main/java/org/hsweb/web/dao/classified/ClassifiedMapper.java
  58. 3 3
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/AbstractServiceImpl.java
  59. 27 0
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/classified/ClassifiedServiceImpl.java
  60. 1 1
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/config/ConfigServiceImpl.java
  61. 1 1
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/DefaultFormParser.java
  62. 1 1
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/DynamicFormServiceImpl.java
  63. 21 21
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/FormServiceImpl.java
  64. 1 1
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/history/HistoryServiceImpl.java
  65. 4 4
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/module/ModuleServiceImpl.java
  66. 30 5
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/resource/FileServiceImpl.java
  67. 3 8
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/resource/ResourcesServiceImpl.java
  68. 5 5
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/role/RoleServiceImpl.java
  69. 3 3
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/script/DynamicScriptServiceImpl.java
  70. 15 15
      hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/user/UserServiceImpl.java
  71. 12 11
      hsweb-web-service-impl-common/src/test/java/org/hsweb/web/service/impl/form/FormServiceImplTest.java
  72. 10 3
      hsweb-web-service-impl-common/src/test/java/org/hsweb/web/service/impl/system/DataBaseManagerServiceImplTest.java
  73. 13 0
      hsweb-web-service-interface/src/main/java/org/hsweb/web/service/classified/ClassifiedService.java
  74. 4 0
      hsweb-web-service-interface/src/main/java/org/hsweb/web/service/resource/FileService.java

+ 18 - 13
hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/QueryParam.java

@@ -28,30 +28,28 @@ public class QueryParam extends SqlParam<QueryParam> implements Serializable {
     /**
      * 排序字段
      */
+    @Deprecated
     private Set<String> sortField = new LinkedHashSet<>();
 
+    /**
+     * 排序字段
+     */
+    private Set<Sort> sorts = new LinkedHashSet<>();
+
     /**
      * 排序方式 DESC 反序 ASC 正序
      */
+    @Deprecated
     private String sortOrder = "asc";
 
     public QueryParam select(String... fields) {
         return this.includes(fields);
     }
 
-    public QueryParam orderBy(String sortField) {
-        this.sortField.add(sortField);
-        return this;
-    }
-
-    public QueryParam asc() {
-        setSortOrder("asc");
-        return this;
-    }
-
-    public QueryParam desc() {
-        setSortOrder("desc");
-        return this;
+    public Sort orderBy(String sortField) {
+        Sort sort = new Sort(this, sortField);
+        sorts.add(sort);
+        return sort;
     }
 
     public QueryParam doPaging(int pageIndex) {
@@ -123,4 +121,11 @@ public class QueryParam extends SqlParam<QueryParam> implements Serializable {
         return new QueryParam();
     }
 
+    public Set<Sort> getSorts() {
+        return sorts;
+    }
+
+    public void setSorts(Set<Sort> sorts) {
+        this.sorts = sorts;
+    }
 }

+ 65 - 0
hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/Sort.java

@@ -0,0 +1,65 @@
+package org.hsweb.web.bean.common;
+
+/**
+ * Created by zhouhao on 16-5-14.
+ */
+public class Sort {
+    private String field;
+
+    private String dir = "asc";
+
+    private transient QueryParam queryParam;
+
+    public String getField() {
+        return field;
+    }
+
+    public void setField(String field) {
+        this.field = field;
+    }
+
+    public String getDir() {
+        return dir;
+    }
+
+    public void setDir(String dir) {
+        this.dir = dir;
+    }
+
+    public Sort() {
+    }
+
+    public Sort(QueryParam queryParam, String field) {
+        this.queryParam = queryParam;
+        this.field = field;
+    }
+
+    public Sort(String field) {
+        this.field = field;
+    }
+
+    public QueryParam asc() {
+        this.dir = "asc";
+        return queryParam;
+    }
+
+    public QueryParam desc() {
+        this.dir = "desc";
+        return queryParam;
+    }
+
+    public Sort and(String field) {
+        return queryParam.orderBy(field);
+    }
+
+    @Override
+    public int hashCode() {
+        return String.valueOf(field).concat(dir).hashCode();
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (obj == null) return false;
+        return this.hashCode() == obj.hashCode();
+    }
+}

+ 2 - 0
hsweb-web-bean/src/main/java/org/hsweb/web/bean/common/SqlParam.java

@@ -98,10 +98,12 @@ public class SqlParam<R extends SqlParam> {
     }
 
     public Set<String> getIncludes() {
+        if(includes==null)includes=new LinkedHashSet<>();
         return includes;
     }
 
     public Set<String> getExcludes() {
+        if(excludes==null)excludes=new LinkedHashSet<>();
         return excludes;
     }
 

+ 7 - 7
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/GenericPo.java

@@ -17,10 +17,10 @@ public class GenericPo<PK> implements Serializable {
     /**
      * 主键
      */
-    private PK u_id;
+    private PK uId;
 
-    public PK getU_id() {
-        return u_id;
+    public PK getUId() {
+        return uId;
     }
 
     private Map<String, Object> customAttr = new LinkedHashMap<>();
@@ -36,8 +36,8 @@ public class GenericPo<PK> implements Serializable {
 
     @Override
     public int hashCode() {
-        if (getU_id() == null) return 0;
-        return getU_id().hashCode();
+        if (getUId() == null) return 0;
+        return getUId().hashCode();
     }
 
     @Override
@@ -46,8 +46,8 @@ public class GenericPo<PK> implements Serializable {
         return this.hashCode() == obj.hashCode();
     }
 
-    public void setU_id(PK u_id) {
-        this.u_id = u_id;
+    public void setUId(PK uId) {
+        this.uId = uId;
     }
 
     /**

+ 133 - 0
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/classified/Classified.java

@@ -0,0 +1,133 @@
+package org.hsweb.web.bean.po.classified;
+import org.hsweb.web.bean.po.GenericPo;
+/**
+* 
+* Created by hsweb-generator 2016-5-14 10:18:41
+*/
+public class Classified extends GenericPo<String>{
+        //分类名称
+        private String name;
+        //备注
+        private String remark;
+        //分类类型
+        private String type;
+        //父级分类
+        private String p_id;
+        //显示图标
+        private String icon;
+        //其他配置
+        private String config;
+        //排序
+        private int sort_index;
+
+        /**
+        * 获取 分类名称
+        * @return java.lang.String 分类名称
+        */
+        public String getName(){
+            if(this.name==null)
+            return "";
+        return this.name;
+        }
+
+        /**
+        * 设置 分类名称
+        */
+        public void setName(String name){
+        this.name=name;
+        }
+        /**
+        * 获取 备注
+        * @return java.lang.String 备注
+        */
+        public String getRemark(){
+            if(this.remark==null)
+            return "";
+        return this.remark;
+        }
+
+        /**
+        * 设置 备注
+        */
+        public void setRemark(String remark){
+        this.remark=remark;
+        }
+        /**
+        * 获取 分类类型
+        * @return java.lang.String 分类类型
+        */
+        public String getType(){
+            if(this.type==null)
+            return "";
+        return this.type;
+        }
+
+        /**
+        * 设置 分类类型
+        */
+        public void setType(String type){
+        this.type=type;
+        }
+        /**
+        * 获取 父级分类
+        * @return java.lang.String 父级分类
+        */
+        public String getP_id(){
+            if(this.p_id==null)
+            return "";
+        return this.p_id;
+        }
+
+        /**
+        * 设置 父级分类
+        */
+        public void setP_id(String p_id){
+        this.p_id=p_id;
+        }
+        /**
+        * 获取 显示图标
+        * @return java.lang.String 显示图标
+        */
+        public String getIcon(){
+            if(this.icon==null)
+            return "";
+        return this.icon;
+        }
+
+        /**
+        * 设置 显示图标
+        */
+        public void setIcon(String icon){
+        this.icon=icon;
+        }
+        /**
+        * 获取 其他配置
+        * @return java.lang.String 其他配置
+        */
+        public String getConfig(){
+            if(this.config==null)
+            return "";
+        return this.config;
+        }
+
+        /**
+        * 设置 其他配置
+        */
+        public void setConfig(String config){
+        this.config=config;
+        }
+        /**
+        * 获取 排序
+        * @return int 排序
+        */
+        public int getSort_index(){
+        return this.sort_index;
+        }
+
+        /**
+        * 设置 排序
+        */
+        public void setSort_index(int sort_index){
+        this.sort_index=sort_index;
+        }
+    }

+ 10 - 10
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/config/Config.java

@@ -22,10 +22,10 @@ public class Config extends GenericPo<String> {
     private String content;
 
     //创建日期
-    private java.util.Date create_date;
+    private java.util.Date createDate;
 
     //最后一次修改日期
-    private java.util.Date update_date;
+    private java.util.Date updateDate;
 
     //配置类型: properties,json
     private String type;
@@ -71,15 +71,15 @@ public class Config extends GenericPo<String> {
      *
      * @return java.util.Date 创建日期
      */
-    public java.util.Date getCreate_date() {
-        return this.create_date;
+    public java.util.Date getCreateDate() {
+        return this.createDate;
     }
 
     /**
      * 设置 创建日期
      */
-    public void setCreate_date(java.util.Date create_date) {
-        this.create_date = create_date;
+    public void setCreateDate(java.util.Date createDate) {
+        this.createDate = createDate;
     }
 
     /**
@@ -87,15 +87,15 @@ public class Config extends GenericPo<String> {
      *
      * @return java.util.Date 最后一次修改日期
      */
-    public java.util.Date getUpdate_date() {
-        return this.update_date;
+    public java.util.Date getUpdateDate() {
+        return this.updateDate;
     }
 
     /**
      * 设置 最后一次修改日期
      */
-    public void setUpdate_date(java.util.Date update_date) {
-        this.update_date = update_date;
+    public void setUpdateDate(java.util.Date updateDate) {
+        this.updateDate = updateDate;
     }
 
     public String getType() {

+ 10 - 10
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/form/Form.java

@@ -45,10 +45,10 @@ public class Form extends GenericPo<String> {
     private boolean using;
 
     //创建时间
-    private java.util.Date create_date;
+    private java.util.Date createDate;
 
     //最后一次修改时间
-    private java.util.Date update_date;
+    private java.util.Date updateDate;
 
 
     /**
@@ -93,15 +93,15 @@ public class Form extends GenericPo<String> {
      *
      * @return java.util.Date 创建时间
      */
-    public java.util.Date getCreate_date() {
-        return this.create_date;
+    public java.util.Date getCreateDate() {
+        return this.createDate;
     }
 
     /**
      * 设置 创建时间
      */
-    public void setCreate_date(java.util.Date create_date) {
-        this.create_date = create_date;
+    public void setCreateDate(java.util.Date createDate) {
+        this.createDate = createDate;
     }
 
     /**
@@ -109,15 +109,15 @@ public class Form extends GenericPo<String> {
      *
      * @return java.util.Date 最后一次修改时间
      */
-    public java.util.Date getUpdate_date() {
-        return this.update_date;
+    public java.util.Date getUpdateDate() {
+        return this.updateDate;
     }
 
     /**
      * 设置 最后一次修改时间
      */
-    public void setUpdate_date(java.util.Date update_date) {
-        this.update_date = update_date;
+    public void setUpdateDate(java.util.Date updateDate) {
+        this.updateDate = updateDate;
     }
 
     public static long getSerialVersionUID() {

+ 34 - 34
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/history/History.java

@@ -25,32 +25,32 @@ public class History extends GenericPo<String> {
     /**
      * 操作数据的主键名称
      */
-    private String primary_key_name;
+    private String primaryKeyName;
 
     /**
      * 操作数据的主键值
      */
-    private String primary_key_value;
+    private String primaryKeyValue;
 
     /**
      * 操作前记录
      */
-    private String change_before;
+    private String changeBefore;
 
     /**
      * 操作后记录
      */
-    private String change_after;
+    private String changeAfter;
 
     /**
      * 创建日期
      */
-    private Date create_date;
+    private Date createDate;
 
     /**
      * 创建人主键
      */
-    private String creator_id;
+    private String creatorId;
 
     public History() {
     }
@@ -76,59 +76,59 @@ public class History extends GenericPo<String> {
         this.describe = describe;
     }
 
-    public String getPrimary_key_name() {
-        return primary_key_name;
+    public String getPrimaryKeyName() {
+        return primaryKeyName;
     }
 
-    public void setPrimary_key_name(String primary_key_name) {
-        this.primary_key_name = primary_key_name;
+    public void setPrimaryKeyName(String primaryKeyName) {
+        this.primaryKeyName = primaryKeyName;
     }
 
-    public String getPrimary_key_value() {
-        return primary_key_value;
+    public String getPrimaryKeyValue() {
+        return primaryKeyValue;
     }
 
-    public void setPrimary_key_value(String primary_key_value) {
-        this.primary_key_value = primary_key_value;
+    public void setPrimaryKeyValue(String primaryKeyValue) {
+        this.primaryKeyValue = primaryKeyValue;
     }
 
-    public String getChange_before() {
-        return change_before;
+    public String getChangeBefore() {
+        return changeBefore;
     }
 
-    public void setChange_before(String change_before) {
-        this.change_before = change_before;
+    public void setChangeBefore(String changeBefore) {
+        this.changeBefore = changeBefore;
     }
 
-    public String getChange_after() {
-        return change_after;
+    public String getChangeAfter() {
+        return changeAfter;
     }
 
-    public void setChange_after(String change_after) {
-        this.change_after = change_after;
+    public void setChangeAfter(String changeAfter) {
+        this.changeAfter = changeAfter;
     }
 
-    public Date getCreate_date() {
-        return create_date;
+    public Date getCreateDate() {
+        return createDate;
     }
 
-    public void setCreate_date(Date create_date) {
-        this.create_date = create_date;
+    public void setCreateDate(Date createDate) {
+        this.createDate = createDate;
     }
 
-    public String getCreator_id() {
-        return creator_id;
+    public String getCreatorId() {
+        return creatorId;
     }
 
-    public void setCreator_id(String creator_id) {
-        this.creator_id = creator_id;
+    public void setCreatorId(String creatorId) {
+        this.creatorId = creatorId;
     }
 
-    public static History newInstace(String type) {
+    public static History newInstance(String type) {
         History history = new History(type);
-        history.setU_id(MD5.encode(UUID.randomUUID().toString().concat(String.valueOf(Math.random()))));
-        history.setCreate_date(new Date());
-        history.setCreator_id("_sys");
+        history.setUId(MD5.encode(UUID.randomUUID().toString().concat(String.valueOf(Math.random()))));
+        history.setCreateDate(new Date());
+        history.setCreatorId("Sys");
         return history;
     }
 }

+ 89 - 89
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/logger/LoggerInfo.java

@@ -10,47 +10,47 @@ public class LoggerInfo extends GenericPo<String> {
     /**
      * 请求者ip
      */
-    private String client_ip;
+    private String clientIp;
 
     /**
      * 请求路径
      */
-    private String request_uri;
+    private String requestUri;
 
     /**
      * 完整路径
      */
-    private String request_url;
+    private String requestUrl;
 
     /**
      * 对应的方法,格式为 HTTP方法+java方法 如:GET.list()
      */
-    private String request_method;
+    private String requestMethod;
 
     /**
      * 响应结果
      */
-    private String response_content;
+    private String responseContent;
 
     /**
      * 用户主键
      */
-    private String user_id;
+    private String userId;
 
     /**
      * 请求时间
      */
-    private long request_time;
+    private long requestTime;
 
     /**
      * 响应时间
      */
-    private long response_time;
+    private long responseTime;
 
     /**
      * 请求耗时
      */
-    private long use_time = -1;
+    private long useTime = 1;
 
     /**
      * referer信息
@@ -60,78 +60,78 @@ public class LoggerInfo extends GenericPo<String> {
     /**
      * 客户端标识
      */
-    private String user_agent;
+    private String userAgent;
 
     /**
      * 响应码
      */
-    private String response_code;
+    private String responseCode;
 
     /**
      * 请求头信息
      */
-    private String request_header;
+    private String requestHeader;
 
     /**
      * 对应类名
      */
-    private String class_name;
+    private String className;
 
     /**
      * 功能摘要
      */
-    private String module_desc;
+    private String moduleDesc;
 
     /**
      * 请求参数
      */
-    private String request_param;
+    private String requestParam;
 
     /**
      * 响应异常
      */
-    private String exception_info;
+    private String exceptionInfo;
 
     /**
      * 命中缓存
      */
-    private String cache_key;
+    private String cacheKey;
 
 
-    public String getUser_id() {
-        if (user_id == null)
-            user_id = "-";
-        return user_id;
+    public String getUserId() {
+        if (userId == null)
+            userId = "";
+        return userId;
     }
 
-    public void setUser_id(String user_id) {
-        this.user_id = user_id;
+    public void setUserId(String userId) {
+        this.userId = userId;
     }
 
-    public long getRequest_time() {
-        return request_time;
+    public long getRequestTime() {
+        return requestTime;
     }
 
-    public void setRequest_time(long request_time) {
-        this.request_time = request_time;
+    public void setRequestTime(long requestTime) {
+        this.requestTime = requestTime;
     }
 
-    public long getResponse_time() {
-        return response_time;
+    public long getResponseTime() {
+        return responseTime;
     }
 
-    public void setResponse_time(long response_time) {
-        this.response_time = response_time;
+    public void setResponseTime(long responseTime) {
+        this.responseTime = responseTime;
     }
 
-    public long getUse_time() {
-        if (use_time == -1)
-            use_time = getResponse_time() - getRequest_time();
-        return use_time;
+    public long getUseTime() {
+        if (useTime == 1)
+            useTime = getResponseTime() - getRequestTime();
+        return useTime;
     }
 
-    public void setUse_time(long use_time) {
-        this.use_time = use_time;
+    public void setUseTime(long useTime) {
+        this.useTime = useTime;
     }
 
     public String getReferer() {
@@ -142,108 +142,108 @@ public class LoggerInfo extends GenericPo<String> {
         this.referer = referer;
     }
 
-    public String getUser_agent() {
-        return user_agent;
+    public String getUserAgent() {
+        return userAgent;
     }
 
-    public void setUser_agent(String user_agent) {
-        this.user_agent = user_agent;
+    public void setUserAgent(String userAgent) {
+        this.userAgent = userAgent;
     }
 
 
-    public String getClass_name() {
-        return class_name;
+    public String getClassName() {
+        return className;
     }
 
-    public void setClass_name(String class_name) {
-        this.class_name = class_name;
+    public void setClassName(String className) {
+        this.className = className;
     }
 
-    public String getClient_ip() {
-        return client_ip;
+    public String getClientIp() {
+        return clientIp;
     }
 
-    public void setClient_ip(String client_ip) {
-        this.client_ip = client_ip;
+    public void setClientIp(String clientIp) {
+        this.clientIp = clientIp;
     }
 
-    public String getRequest_uri() {
-        return request_uri;
+    public String getRequestUri() {
+        return requestUri;
     }
 
-    public void setRequest_uri(String request_uri) {
-        this.request_uri = request_uri;
+    public void setRequestUri(String requestUri) {
+        this.requestUri = requestUri;
     }
 
-    public String getRequest_url() {
-        return request_url;
+    public String getRequestUrl() {
+        return requestUrl;
     }
 
-    public void setRequest_url(String request_url) {
-        this.request_url = request_url;
+    public void setRequestUrl(String requestUrl) {
+        this.requestUrl = requestUrl;
     }
 
-    public String getRequest_method() {
-        return request_method;
+    public String getRequestMethod() {
+        return requestMethod;
     }
 
-    public void setRequest_method(String request_method) {
-        this.request_method = request_method;
+    public void setRequestMethod(String requestMethod) {
+        this.requestMethod = requestMethod;
     }
 
-    public String getResponse_content() {
-        return response_content;
+    public String getResponseContent() {
+        return responseContent;
     }
 
-    public void setResponse_content(String response_content) {
-        this.response_content = response_content;
+    public void setResponseContent(String responseContent) {
+        this.responseContent = responseContent;
     }
 
-    public String getResponse_code() {
-        return response_code;
+    public String getResponseCode() {
+        return responseCode;
     }
 
-    public void setResponse_code(String response_code) {
-        this.response_code = response_code;
+    public void setResponseCode(String responseCode) {
+        this.responseCode = responseCode;
     }
 
-    public String getRequest_header() {
-        return request_header;
+    public String getRequestHeader() {
+        return requestHeader;
     }
 
-    public void setRequest_header(String request_header) {
-        this.request_header = request_header;
+    public void setRequestHeader(String requestHeader) {
+        this.requestHeader = requestHeader;
     }
 
-    public String getModule_desc() {
-        return module_desc;
+    public String getModuleDesc() {
+        return moduleDesc;
     }
 
-    public void setModule_desc(String module_desc) {
-        this.module_desc = module_desc;
+    public void setModuleDesc(String moduleDesc) {
+        this.moduleDesc = moduleDesc;
     }
 
-    public String getRequest_param() {
-        return request_param;
+    public String getRequestParam() {
+        return requestParam;
     }
 
-    public void setRequest_param(String request_param) {
-        this.request_param = request_param;
+    public void setRequestParam(String requestParam) {
+        this.requestParam = requestParam;
     }
 
-    public String getException_info() {
-        return exception_info;
+    public String getExceptionInfo() {
+        return exceptionInfo;
     }
 
-    public void setException_info(String exception_info) {
-        this.exception_info = exception_info;
+    public void setExceptionInfo(String exceptionInfo) {
+        this.exceptionInfo = exceptionInfo;
     }
 
-    public String getCache_key() {
-        return cache_key;
+    public String getCacheKey() {
+        return cacheKey;
     }
 
-    public void setCache_key(String cache_key) {
-        this.cache_key = cache_key;
+    public void setCacheKey(String cacheKey) {
+        this.cacheKey = cacheKey;
     }
 }

+ 27 - 27
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/module/Module.java

@@ -28,7 +28,7 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
     private String icon;
 
     //父级模块主键
-    private String p_id = "-1";
+    private String pId = "-1";
 
     //备注
     private String remark;
@@ -37,12 +37,12 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
     private int status = 1;
 
     //模块操作选项
-    private String m_option;
+    private String mOption;
 
     //排序
-    private long sort_index;
+    private long sortIndex;
 
-    private String old_id;
+    private String oldId;
 
     /**
      * 获取 模块名称
@@ -103,17 +103,17 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
      *
      * @return String 父级模块主键
      */
-    public String getP_id() {
-        if (this.p_id == null)
-            return "-1";
-        return this.p_id;
+    public String getPId() {
+        if (this.pId == null)
+            return "1";
+        return this.pId;
     }
 
     /**
      * 设置 父级模块主键
      */
-    public void setP_id(String p_id) {
-        this.p_id = p_id;
+    public void setPId(String pId) {
+        this.pId = pId;
     }
 
     /**
@@ -150,12 +150,12 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
         this.status = status;
     }
 
-    public long getSort_index() {
-        return sort_index;
+    public long getSortIndex() {
+        return sortIndex;
     }
 
-    public void setSort_index(long sort_index) {
-        this.sort_index = sort_index;
+    public void setSortIndex(long sortIndex) {
+        this.sortIndex = sortIndex;
     }
 
     /**
@@ -163,13 +163,13 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
      *
      * @return String 模块操作选项
      */
-    public String getM_option() {
-        return this.m_option;
+    public String getMOption() {
+        return this.mOption;
     }
 
-    public Map<String, Object> getM_optionMap() {
+    public Map<String, Object> getMOptionMap() {
         try {
-            List<Map<String, Object>> opt = JSON.parseObject(getM_option(),new TypeReference<LinkedList<Map<String, Object>>>(){});
+            List<Map<String, Object>> opt = JSON.parseObject(getMOption(),new TypeReference<LinkedList<Map<String, Object>>>(){});
             if (opt == null) return new HashMap<>();
             Map<String, Object> all = new LinkedHashMap<>();
             for (Map<String, Object> map : opt) {
@@ -184,23 +184,23 @@ public class Module extends GenericPo<String> implements Comparable<Module> {
     /**
      * 设置 模块操作选项
      */
-    public void setM_option(String m_option) {
-        this.m_option = m_option;
+    public void setMOption(String mOption) {
+        this.mOption = mOption;
     }
 
     @Override
     public int compareTo(Module o) {
-        return getSort_index() > o.getSort_index() ? 1 : -1;
+        return getSortIndex() > o.getSortIndex() ? 1 : 1;
     }
 
-    public String getOld_id() {
-        if (old_id == null)
-            old_id = getU_id();
-        return old_id;
+    public String getOldId() {
+        if (oldId == null)
+            oldId = getUId();
+        return oldId;
     }
 
-    public void setOld_id(String old_id) {
-        this.old_id = old_id;
+    public void setOldId(String oldId) {
+        this.oldId = oldId;
     }
 
 }

+ 10 - 10
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/module/ModuleMeta.java

@@ -12,9 +12,9 @@ public class ModuleMeta extends GenericPo<String> {
 
     private String remark;
 
-    private String module_id;
+    private String moduleId;
 
-    private String role_id;
+    private String roleId;
 
     private String meta;
 
@@ -44,20 +44,20 @@ public class ModuleMeta extends GenericPo<String> {
         this.status = status;
     }
 
-    public String getModule_id() {
-        return module_id;
+    public String getModuleId() {
+        return moduleId;
     }
 
-    public void setModule_id(String module_id) {
-        this.module_id = module_id;
+    public void setModuleId(String moduleId) {
+        this.moduleId = moduleId;
     }
 
-    public String getRole_id() {
-        return role_id;
+    public String getRoleId() {
+        return roleId;
     }
 
-    public void setRole_id(String role_id) {
-        this.role_id = role_id;
+    public void setRoleId(String roleId) {
+        this.roleId = roleId;
     }
 
     public String getMeta() {

+ 21 - 14
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/resource/Resources.java

@@ -2,9 +2,6 @@ package org.hsweb.web.bean.po.resource;
 
 import org.hsweb.web.bean.po.GenericPo;
 import org.webbuilder.utils.file.FileUtils;
-import org.hibernate.validator.constraints.NotEmpty;
-
-import javax.validation.constraints.NotNull;
 
 /**
  * 资源
@@ -20,10 +17,10 @@ public class Resources extends GenericPo<String> {
     private String path;
 
     //创建时间
-    private java.util.Date create_date;
+    private java.util.Date createDate;
 
     //创建人主键
-    private String creator_id;
+    private String creatorId;
 
     //MD5校验值
     private String md5;
@@ -31,9 +28,19 @@ public class Resources extends GenericPo<String> {
     //资源类型
     private String type;
 
+    //资源分类
+    private String classified;
+
     //状态
     private int status;
 
+    public String getClassified() {
+        return classified;
+    }
+
+    public void setClassified(String classified) {
+        this.classified = classified;
+    }
 
     /**
      * 获取 资源名称
@@ -76,15 +83,15 @@ public class Resources extends GenericPo<String> {
      *
      * @return java.util.Date 创建时间
      */
-    public java.util.Date getCreate_date() {
-        return this.create_date;
+    public java.util.Date getCreateDate() {
+        return this.createDate;
     }
 
     /**
      * 设置 创建时间
      */
-    public void setCreate_date(java.util.Date create_date) {
-        this.create_date = create_date;
+    public void setCreateDate(java.util.Date createDate) {
+        this.createDate = createDate;
     }
 
     /**
@@ -92,17 +99,17 @@ public class Resources extends GenericPo<String> {
      *
      * @return String 创建人主键
      */
-    public String getCreator_id() {
-        if (this.creator_id == null)
+    public String getCreatorId() {
+        if (this.creatorId == null)
             return "";
-        return this.creator_id;
+        return this.creatorId;
     }
 
     /**
      * 设置 创建人主键
      */
-    public void setCreator_id(String creator_id) {
-        this.creator_id = creator_id;
+    public void setCreatorId(String creatorId) {
+        this.creatorId = creatorId;
     }
 
     /**

+ 13 - 48
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/role/RoleModule.java

@@ -1,14 +1,10 @@
 package org.hsweb.web.bean.po.role;
 
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.TypeReference;
 import org.hibernate.validator.constraints.NotEmpty;
 import org.hsweb.web.bean.po.GenericPo;
 import org.hsweb.web.bean.po.module.Module;
-import org.webbuilder.utils.common.StringUtils;
 
 import javax.validation.constraints.NotNull;
-import java.util.LinkedList;
 import java.util.List;
 
 /**
@@ -21,37 +17,34 @@ public class RoleModule extends GenericPo<String> {
     //模块主键
     @NotNull
     @NotEmpty
-    private String module_id;
+    private String moduleId;
 
     //角色主键
     @NotNull
     @NotEmpty
-    private String role_id;
+    private String roleId;
 
-    //权限级别
-    private String o_level;
+    private List<String> actions;
 
     private transient Module module;
 
-    private List<String> actions;
-
 
     /**
      * 获取 模块主键
      *
      * @return String 模块主键
      */
-    public String getModule_id() {
-        if (this.module_id == null)
+    public String getModuleId() {
+        if (this.moduleId == null)
             return "";
-        return this.module_id;
+        return this.moduleId;
     }
 
     /**
      * 设置 模块主键
      */
-    public void setModule_id(String module_id) {
-        this.module_id = module_id;
+    public void setModuleId(String moduleId) {
+        this.moduleId = moduleId;
     }
 
     /**
@@ -59,35 +52,17 @@ public class RoleModule extends GenericPo<String> {
      *
      * @return String 角色主键
      */
-    public String getRole_id() {
-        if (this.role_id == null)
+    public String getRoleId() {
+        if (this.roleId == null)
             return "";
-        return this.role_id;
+        return this.roleId;
     }
 
     /**
      * 设置 角色主键
      */
-    public void setRole_id(String role_id) {
-        this.role_id = role_id;
-    }
-
-    /**
-     * 获取 权限级别
-     *
-     * @return String 权限级别
-     */
-    public String getO_level() {
-        if (this.o_level == null)
-            return "";
-        return this.o_level;
-    }
-
-    /**
-     * 设置 权限级别
-     */
-    public void setO_level(String o_level) {
-        this.o_level = o_level;
+    public void setRoleId(String roleId) {
+        this.roleId = roleId;
     }
 
     public Module getModule() {
@@ -99,16 +74,6 @@ public class RoleModule extends GenericPo<String> {
     }
 
     public List<String> getActions() {
-        if (!StringUtils.isNullOrEmpty(getO_level())) {
-            try {
-                if (actions == null)
-                    actions = JSON.parseObject(getO_level(), new TypeReference<List<String>>(){});
-            } catch (Exception e) {
-                actions = new LinkedList<>();
-            }
-        } else {
-            actions = new LinkedList<>();
-        }
         return actions;
     }
 

+ 12 - 12
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/role/UserRole.java

@@ -14,11 +14,11 @@ public class UserRole extends GenericPo<String> {
 
     //用户主键
     @NotEmpty
-    private String user_id;
+    private String userId;
 
     //角色主键
     @NotEmpty
-    private String role_id;
+    private String roleId;
 
     //角色实例
     private transient Role role;
@@ -28,17 +28,17 @@ public class UserRole extends GenericPo<String> {
      *
      * @return String 用户主键
      */
-    public String getUser_id() {
-        if (this.user_id == null)
+    public String getUserId() {
+        if (this.userId == null)
             return "";
-        return this.user_id;
+        return this.userId;
     }
 
     /**
      * 设置 用户主键
      */
-    public void setUser_id(String user_id) {
-        this.user_id = user_id;
+    public void setUserId(String userId) {
+        this.userId = userId;
     }
 
     /**
@@ -46,17 +46,17 @@ public class UserRole extends GenericPo<String> {
      *
      * @return String 角色主键
      */
-    public String getRole_id() {
-        if (this.role_id == null)
+    public String getRoleId() {
+        if (this.roleId == null)
             return "";
-        return this.role_id;
+        return this.roleId;
     }
 
     /**
      * 设置 角色主键
      */
-    public void setRole_id(String role_id) {
-        this.role_id = role_id;
+    public void setRoleId(String roleId) {
+        this.roleId = roleId;
     }
 
     public Role getRole() {

+ 15 - 15
hsweb-web-bean/src/main/java/org/hsweb/web/bean/po/user/User.java

@@ -44,10 +44,10 @@ public class User extends GenericPo<String> {
     private int status;
 
     //创建日期
-    private java.util.Date create_date;
+    private java.util.Date createDate;
 
     //修改日期
-    private java.util.Date update_date;
+    private java.util.Date updateDate;
 
     //用户角色绑定
     private List<UserRole> userRoles;
@@ -74,7 +74,7 @@ public class User extends GenericPo<String> {
 
     public Module getModule(String mId) {
         for (Module module : getModules()) {
-            if (module.getU_id().equals(mId)) return module;
+            if (module.getUId().equals(mId)) return module;
         }
         return null;
     }
@@ -94,14 +94,14 @@ public class User extends GenericPo<String> {
     public Set<Module> getModulesByPid(String pid) {
         Set<Module> modules = getModules()
                 .stream()
-                .filter(module -> pid.equals(module.getP_id()))
+                .filter(module -> pid.equals(module.getPId()))
                 .collect(Collectors.toCollection(() -> new LinkedHashSet<>()));
         return modules;
     }
 
     public Set<Module> getModulesByPid(String pid, String level) {
         Set<Module> modules = getModules().stream()
-                .filter(module -> module.getP_id().equals(pid) && hasAccessModuleAction(module.getU_id(), level))
+                .filter(module -> module.getPId().equals(pid) && hasAccessModuleAction(module.getUId(), level))
                 .collect(Collectors.toCollection(() -> new LinkedHashSet<>()));
         return modules;
     }
@@ -109,7 +109,7 @@ public class User extends GenericPo<String> {
     public boolean hasAccessRole(String rId) {
         if (getUserRoles() != null)
             for (UserRole userRole : getUserRoles()) {
-                if (rId.equals(userRole.getRole_id())) return true;
+                if (rId.equals(userRole.getRoleId())) return true;
             }
         return false;
     }
@@ -117,7 +117,7 @@ public class User extends GenericPo<String> {
     public boolean hasAccessModule(String mId) {
         if (roleInfo == null) initRoleInfo();
         for (Module module : roleInfo.keySet()) {
-            if (module.getU_id().equals(mId)) return true;
+            if (module.getUId().equals(mId)) return true;
         }
         return false;
     }
@@ -259,15 +259,15 @@ public class User extends GenericPo<String> {
      *
      * @return java.util.Date 创建日期
      */
-    public java.util.Date getCreate_date() {
-        return this.create_date;
+    public java.util.Date getCreateDate() {
+        return this.createDate;
     }
 
     /**
      * 设置 创建日期
      */
-    public void setCreate_date(java.util.Date create_date) {
-        this.create_date = create_date;
+    public void setCreateDate(java.util.Date createDate) {
+        this.createDate = createDate;
     }
 
     /**
@@ -275,15 +275,15 @@ public class User extends GenericPo<String> {
      *
      * @return java.util.Date 修改日期
      */
-    public java.util.Date getUpdate_date() {
-        return this.update_date;
+    public java.util.Date getUpdateDate() {
+        return this.updateDate;
     }
 
     /**
      * 设置 修改日期
      */
-    public void setUpdate_date(java.util.Date update_date) {
-        this.update_date = update_date;
+    public void setUpdateDate(java.util.Date updateDate) {
+        this.updateDate = updateDate;
     }
 
     public List<UserRole> getUserRoles() {

+ 25 - 2
hsweb-web-bean/src/main/resources/system/install/sql/h2/install.sql

@@ -25,7 +25,7 @@ CREATE TABLE "S_FORM" (
   "META"        CLOB          NULL,
   "CONFIG"      CLOB          NULL,
   "VERSION"     NUMBER(32)    NULL,
-  "REVISION"     NUMBER(32)    NULL,
+  "REVISION"    NUMBER(32)    NULL,
   "RELEASE"     NUMBER(32)    NULL,
   "USING"       NUMBER(4)     NULL,
   "CREATE_DATE" DATETIME      NOT NULL,
@@ -153,12 +153,13 @@ INSERT INTO "S_MODULES" VALUES ('s_logger', '日志管理', 'admin/logger/list.h
 -- Table structure for S_RESOURCES
 -- ----------------------------
 CREATE TABLE "S_RESOURCES" (
-  "U_ID"        VARCHAR2(256)  NOT NULL,
+  "U_ID"        VARCHAR2(32)   NOT NULL,
   "NAME"        VARCHAR2(256)  NOT NULL,
   "PATH"        VARCHAR2(1024) NOT NULL,
   "TYPE"        VARCHAR2(256)  NOT NULL,
   "MD5"         VARCHAR2(256)  NOT NULL,
   "STATUS"      NUMBER(4)      NULL,
+  "CLASSIFIED"  VARCHAR2(32)   NULL,
   "CREATE_DATE" DATETIME       NOT NULL,
   "CREATOR_ID"  VARCHAR2(256)  NOT NULL
 );
@@ -169,9 +170,30 @@ COMMENT ON COLUMN "S_RESOURCES"."PATH" IS '路径';
 COMMENT ON COLUMN "S_RESOURCES"."TYPE" IS '类型';
 COMMENT ON COLUMN "S_RESOURCES"."MD5" IS 'MD5校验值';
 COMMENT ON COLUMN "S_RESOURCES"."STATUS" IS '状态';
+COMMENT ON COLUMN "S_RESOURCES"."CLASSIFIED" IS '分类';
 COMMENT ON COLUMN "S_RESOURCES"."CREATE_DATE" IS '创建时间';
 COMMENT ON COLUMN "S_RESOURCES"."CREATOR_ID" IS '创建人';
 
+
+CREATE TABLE "S_CLASSIFIED" (
+  "U_ID"   VARCHAR2(32)   NOT NULL,
+  "NAME"   VARCHAR2(256)  NOT NULL,
+  "REMARK" VARCHAR2(1024) NULL,
+  "TYPE"   VARCHAR2(256)  NULL,
+  "P_ID"   VARCHAR2(32)   NOT NULL,
+  "ICON"   VARCHAR2(256)  NULL,
+  "CONFIG" CLOB           NULL,
+  "SORT_INDEX" NUMBER(32)           NULL
+);
+COMMENT ON TABLE "S_CLASSIFIED" IS '数据分类表';
+COMMENT ON COLUMN "S_CLASSIFIED"."U_ID" IS 'UID';
+COMMENT ON COLUMN "S_CLASSIFIED"."NAME" IS '分类名称';
+COMMENT ON COLUMN "S_CLASSIFIED"."REMARK" IS '备注';
+COMMENT ON COLUMN "S_CLASSIFIED"."TYPE" IS '类型';
+COMMENT ON COLUMN "S_CLASSIFIED"."P_ID" IS '父级分类';
+COMMENT ON COLUMN "S_CLASSIFIED"."ICON" IS '图标';
+COMMENT ON COLUMN "S_CLASSIFIED"."CONFIG" IS '分类配置';
+COMMENT ON COLUMN "S_CLASSIFIED"."SORT_INDEX" IS '排序';
 -- ----------------------------
 -- Table structure for S_ROLE
 -- ----------------------------
@@ -290,6 +312,7 @@ CREATE TABLE "S_HISTORY"
 );
 
 
+ALTER TABLE "S_CLASSIFIED" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE "S_CONFIG" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE "S_LOGGER" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE "S_MODULES" ADD PRIMARY KEY ("U_ID");

+ 18 - 0
hsweb-web-bean/src/main/resources/system/install/sql/mysql/install.sql

@@ -115,6 +115,24 @@ CREATE TABLE `s_resources` (
 );
 ALTER TABLE `s_resources` COMMENT '资源表';
 
+CREATE TABLE `s_classified` (
+  `u_id`       VARCHAR(32)  NOT NULL PRIMARY KEY
+  COMMENT 'uid',
+  `remark`     VARCHAR(1024) NOT NULL
+  COMMENT '备注',
+  `type`       VARCHAR(256) NOT NULL
+  COMMENT '类型',
+  `p_id`       VARCHAR(32) NOT NULL
+  COMMENT '父级分类',
+  `icon`       VARCHAR(256) NULL
+  COMMENT '状态',
+  `config`     TEXT         NOT NULL
+  COMMENT '创建时间',
+  `sort_index` INT          NOT NULL
+  COMMENT '排序'
+);
+ALTER TABLE `s_resources` COMMENT '资源表';
+
 -- ----------------------------
 -- Table structure for S_ROLE
 -- ----------------------------

+ 24 - 1
hsweb-web-bean/src/main/resources/system/install/sql/oracle/install.sql

@@ -122,6 +122,27 @@ COMMENT ON COLUMN ${jdbc.username}."S_MODULES"."STATUS" IS '状态';
 COMMENT ON COLUMN ${jdbc.username}."S_MODULES"."M_OPTION" IS '可选权限';
 COMMENT ON COLUMN ${jdbc.username}."S_MODULES"."SORT_INDEX" IS '排序';
 
+CREATE TABLE ${jdbc.username}."S_CLASSIFIED" (
+"U_ID" VARCHAR2(32)   NOT NULL,
+"NAME" VARCHAR2(256)  NOT NULL,
+"REMARK" VARCHAR2(1024) NULL,
+"TYPE" VARCHAR2(256)  NULL,
+"P_ID" VARCHAR2(32)   NOT NULL,
+"ICON" VARCHAR2(256)  NULL,
+"CONFIG" CLOB NULL,
+"SORT_INDEX" NUMBER(32)  NULL
+);
+COMMENT ON TABLE ${jdbc.username}."S_CLASSIFIED" IS '数据分类表';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."U_ID" IS 'UID';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."NAME" IS '分类名称';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."REMARK" IS '备注';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."TYPE" IS '类型';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."P_ID" IS '父级分类';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."ICON" IS '图标';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."CONFIG" IS '分类配置';
+COMMENT ON COLUMN ${jdbc.username}."S_CLASSIFIED"."SORT_INDEX" IS '排序';
+
+
 CREATE TABLE ${jdbc.username}."S_MODULE_META" (
 "U_ID" VARCHAR2(32)  NOT NULL,
 "KEY" VARCHAR2(256) NOT NULL,
@@ -157,6 +178,7 @@ CREATE TABLE ${jdbc.username}."S_RESOURCES" (
 "NAME" VARCHAR2(256)  NOT NULL,
 "PATH" VARCHAR2(1024) NOT NULL,
 "TYPE" VARCHAR2(256)  NOT NULL,
+"CLASSIFIED"  VARCHAR2(32)   NULL,
 "MD5" VARCHAR2(256)  NOT NULL,
 "STATUS" NUMBER(4)      NULL,
 "CREATE_DATE" DATE NOT NULL,
@@ -167,6 +189,7 @@ COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."U_ID" IS 'UID';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."NAME" IS '资源名称';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."PATH" IS '路径';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."TYPE" IS '类型';
+COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."CLASSIFIED" IS '分类';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."MD5" IS 'MD5校验值';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."STATUS" IS '状态';
 COMMENT ON COLUMN ${jdbc.username}."S_RESOURCES"."CREATE_DATE" IS '创建时间';
@@ -289,7 +312,7 @@ COMMENT ON COLUMN ${jdbc.username}."S_USER_ROLE"."U_ID" IS 'UID';
 COMMENT ON COLUMN ${jdbc.username}."S_USER_ROLE"."USER_ID" IS '用户ID';
 COMMENT ON COLUMN ${jdbc.username}."S_USER_ROLE"."ROLE_ID" IS '角色ID';
 
-
+ALTER TABLE ${jdbc.username}."S_CLASSIFIED" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE ${jdbc.username}."S_CONFIG" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE ${jdbc.username}."S_LOGGER" ADD PRIMARY KEY ("U_ID");
 ALTER TABLE ${jdbc.username}."S_MODULES" ADD PRIMARY KEY ("U_ID");

+ 6 - 6
hsweb-web-controller/src/main/java/org/hsweb/web/controller/AopAccessLoggerResolverConfiguration.java

@@ -43,7 +43,7 @@ public class AopAccessLoggerResolverConfiguration extends AopAccessLoggerResolve
         } catch (Throwable e) {
             if (!(e instanceof BusinessException)) {
                 result = ResponseMessage.error(e.getMessage());
-                loggerInfo.setException_info(StringUtils.throwable2String(e));
+                loggerInfo.setExceptionInfo(StringUtils.throwable2String(e));
             } else {
                 result = ResponseMessage.error(e.getMessage(), ((BusinessException) e).getStatus());
             }
@@ -51,13 +51,13 @@ public class AopAccessLoggerResolverConfiguration extends AopAccessLoggerResolve
         } finally {
             long responseTime = System.currentTimeMillis();
             User user = WebUtil.getLoginUser();
-            loggerInfo.setRequest_time(requestTime);
-            loggerInfo.setResponse_time(responseTime);
-            loggerInfo.setResponse_content(fastJsonHttpMessageConverter.converter(result));
+            loggerInfo.setRequestTime(requestTime);
+            loggerInfo.setResponseTime(responseTime);
+            loggerInfo.setResponseContent(fastJsonHttpMessageConverter.converter(result));
             if (user != null)
-                loggerInfo.setUser_id(user.getU_id());
+                loggerInfo.setUserId(user.getUId());
             if (result instanceof ResponseMessage)
-                loggerInfo.setResponse_code(String.valueOf(((ResponseMessage) result).getCode()));
+                loggerInfo.setResponseCode(String.valueOf(((ResponseMessage) result).getCode()));
             if (accessLoggerPersisting != null) {
                 accessLoggerPersisting.forEach(loggerPersisting -> loggerPersisting.save(loggerInfo));
             }

+ 4 - 3
hsweb-web-controller/src/main/java/org/hsweb/web/controller/GenericController.java

@@ -5,6 +5,7 @@ import org.hsweb.web.core.authorize.annotation.Authorize;
 import org.hsweb.web.bean.common.QueryParam;
 import org.hsweb.web.bean.po.GenericPo;
 import org.hsweb.web.core.exception.BusinessException;
+import org.hsweb.web.core.exception.NotFoundException;
 import org.hsweb.web.core.logger.annotation.AccessLogger;
 import org.hsweb.web.core.message.ResponseMessage;
 import org.hsweb.web.service.GenericService;
@@ -132,7 +133,7 @@ public abstract class GenericController<PO, PK> {
     @Authorize(action = "D")
     public ResponseMessage delete(@PathVariable("id") PK id) throws Exception {
         PO old = getService().selectByPk(id);
-        if (old == null) throw new BusinessException("data is not found!", 404);
+        if (old == null) throw new NotFoundException("data is not found!");
         int number = getService().delete(id);
         return ResponseMessage.ok(number);
     }
@@ -148,9 +149,9 @@ public abstract class GenericController<PO, PK> {
     @Authorize(action = "U")
     public ResponseMessage update(@PathVariable("id") PK id, @RequestBody(required = true) PO object) throws Exception {
         PO old = getService().selectByPk(id);
-        if (old == null) throw new BusinessException("data is not found!", 404);
+        if (old == null) throw new NotFoundException("data is not found!");
         if (object instanceof GenericPo) {
-            ((GenericPo) object).setU_id(id);
+            ((GenericPo) object).setUId(id);
         }
         int number = getService().update(object);
         return ResponseMessage.ok(number);

+ 28 - 0
hsweb-web-controller/src/main/java/org/hsweb/web/controller/classified/ClassifiedController.java

@@ -0,0 +1,28 @@
+package org.hsweb.web.controller.classified;
+
+import org.hsweb.web.bean.po.classified.Classified;
+import org.hsweb.web.controller.GenericController;
+import org.hsweb.web.service.classified.ClassifiedService;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+
+/**
+* 控制器,继承自GenericController,使用rest+json
+* Created by hsweb-generator 2016-5-14 10:18:41
+*/
+@RestController
+@RequestMapping(value = "/classified")
+public class ClassifiedController extends GenericController<Classified,String> {
+
+    //默认服务类
+    @Resource
+    private ClassifiedService classifiedService;
+
+    @Override
+    public ClassifiedService getService(){
+        return this.classifiedService;
+    }
+
+}

+ 4 - 4
hsweb-web-controller/src/main/java/org/hsweb/web/controller/file/FileController.java

@@ -172,13 +172,13 @@ public class FileController {
             CommonsMultipartFile file = files[i];
             if (!file.isEmpty()) {
                 if (logger.isInfoEnabled())
-                    logger.info(String.format("start write file:%s", file.getOriginalFilename()));
-                String fileName = files[i].getOriginalFilename();
-                Resources resources = fileService.saveFile(files[i].getFileItem().getInputStream(), fileName);
+                    logger.info("start write file:{}", file.getOriginalFilename());
+                String fileName = file.getOriginalFilename();
+                Resources resources = fileService.saveFile(file.getFileItem().getInputStream(), fileName);
                 resourcesList.add(resources);
             }
         }//响应上传成功的资源信息
         return ResponseMessage.ok(resourcesList)
-                .include(Resources.class, "u_id", "name", "md5");
+                .include(Resources.class, "uId", "name", "md5");
     }
 }

+ 6 - 4
hsweb-web-controller/src/main/java/org/hsweb/web/controller/login/UserModuleController.java

@@ -30,15 +30,17 @@ public class UserModuleController {
     @RequestMapping
     public ResponseMessage userModule() throws Exception {
         String[] includes = {
-                "name", "u_id", "p_id", "icon", "uri", "m_option"
+                "name", "uId", "pId", "icon", "uri", "mOption"
         };
         User user = WebUtil.getLoginUser();
         List<Module> modules;
         if (user == null) {
-            modules = moduleService.select(new QueryParam().includes(includes).orderBy("sort_index"));
+            QueryParam queryParam = new QueryParam();
+            queryParam.includes(includes).orderBy("sortIndex");
+            modules = moduleService.select(queryParam);
             modules = modules.stream()
                     .filter(module -> {
-                        Object obj = module.getM_optionMap().get("M");
+                        Object obj = module.getMOptionMap().get("M");
                         if (obj instanceof Map)
                             return StringUtils.isTrue(((Map) obj).get("checked"));
                         return false;
@@ -46,7 +48,7 @@ public class UserModuleController {
                     .collect(Collectors.toCollection(() -> new LinkedList<>()));
         } else {
             modules = user.getModules().stream()
-                    .filter(module -> user.hasAccessModuleAction(module.getU_id(), "M"))
+                    .filter(module -> user.hasAccessModuleAction(module.getUId(), "M"))
                     .collect(Collectors.toCollection(() -> new LinkedList<>()));
         }
 

+ 1 - 1
hsweb-web-controller/src/main/java/org/hsweb/web/controller/module/ModuleMetaController.java

@@ -42,7 +42,7 @@ public class ModuleMetaController extends GenericController<ModuleMeta, String>
         List<UserRole> roles = user.getUserRoles();
         String[] roleIdList = roles
                 .stream()
-                .map(userRole -> userRole.getRole_id())
+                .map(userRole -> userRole.getRoleId())
                 .collect(Collectors.toList()).toArray(new String[roles.size()]);
         return ResponseMessage.ok(getService().selectByKeyAndRoleId(key, roleIdList));
     }

+ 4 - 25
hsweb-web-controller/src/main/java/org/hsweb/web/controller/resource/ResourcesController.java

@@ -1,29 +1,20 @@
 package org.hsweb.web.controller.resource;
 
-import org.hsweb.web.core.exception.NotFoundException;
-import org.hsweb.web.core.logger.annotation.AccessLogger;
-import org.hsweb.web.core.authorize.annotation.Authorize;
 import org.hsweb.web.bean.po.resource.Resources;
-import org.hsweb.web.bean.po.role.Role;
 import org.hsweb.web.controller.GenericController;
+import org.hsweb.web.core.authorize.annotation.Authorize;
+import org.hsweb.web.core.exception.NotFoundException;
+import org.hsweb.web.core.logger.annotation.AccessLogger;
 import org.hsweb.web.core.message.ResponseMessage;
 import org.hsweb.web.service.resource.ResourcesService;
-
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
-/**
- * 资源控制器,继承自GenericController,使用rest+json
- * Created by generator 2015-8-28 13:01:29
- *
- * @author 浩
- * @version 1.0
- * @UpdateRemark 2015年8月31日,重写{@link ResourcesController#delete(String)}方法,删除资源时需要授权认证
- */
 @RestController
 @RequestMapping(value = "/resources")
 @AccessLogger("资源管理")
+@Authorize(module = "resources")
 public class ResourcesController extends GenericController<Resources, String> {
 
     //默认服务类
@@ -35,18 +26,6 @@ public class ResourcesController extends GenericController<Resources, String> {
         return this.resourcesService;
     }
 
-    /**
-     * 重写 {@link GenericController#delete(Object)} 新增注解: @Authorize(role = Role.SYS_ROLE_ADMIN),只有拥有系统管理员权限的用户才能执行此操作
-     *
-     * @param id 要删除的id标识
-     * @return
-     */
-    @Override
-    @Authorize(role = Role.SYS_ROLE_ADMIN)
-    public ResponseMessage delete(@PathVariable("id") String id) throws Exception {
-        return super.delete(id);
-    }
-
     /**
      * 判断资源文件是否存在并检测其健康状况
      *

+ 10 - 10
hsweb-web-core/src/main/java/org/hsweb/web/core/logger/AopAccessLoggerResolver.java

@@ -35,17 +35,17 @@ public class AopAccessLoggerResolver {
                 describe.append("-");
             describe.append(methodAnnotation.value());
         }
-        logInfo.setU_id(MD5.encode(String.valueOf(System.nanoTime())));
-        logInfo.setModule_desc(describe.toString());//方法描述
-        logInfo.setClass_name(target.getName());//当前访问映射到的类名
-        logInfo.setClient_ip(WebUtil.getIpAddr(request));//ip地址
-        logInfo.setRequest_method(request.getMethod().concat(".").concat(methodName));//方法:GET.select()
-        logInfo.setRequest_header(JSON.toJSONString(WebUtil.getHeaders(request)));//http请求头
+        logInfo.setUId(MD5.encode(String.valueOf(System.nanoTime())));
+        logInfo.setModuleDesc(describe.toString());//方法描述
+        logInfo.setClassName(target.getName());//当前访问映射到的类名
+        logInfo.setClientIp(WebUtil.getIpAddr(request));//ip地址
+        logInfo.setRequestMethod(request.getMethod().concat(".").concat(methodName));//方法:GET.select()
+        logInfo.setRequestHeader(JSON.toJSONString(WebUtil.getHeaders(request)));//http请求头
         logInfo.setReferer(request.getHeader("referer"));//referer
-        logInfo.setRequest_uri(request.getRequestURI());//请求相对路径
-        logInfo.setRequest_url(WebUtil.getBasePath(request).concat(logInfo.getRequest_uri().substring(1)));//请求绝对路径
-        logInfo.setUser_agent(request.getHeader("User-agent"));//客户端标识
-        logInfo.setRequest_param(JSON.toJSONString(WebUtil.getParams(request)));//请求参数
+        logInfo.setRequestUri(request.getRequestURI());//请求相对路径
+        logInfo.setRequestUrl(WebUtil.getBasePath(request).concat(logInfo.getRequestUri().substring(1)));//请求绝对路径
+        logInfo.setUserAgent(request.getHeader("UserAgent"));//客户端标识
+        logInfo.setRequestParam(JSON.toJSONString(WebUtil.getParams(request)));//请求参数
         return logInfo;
     }
 

+ 118 - 2
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/builder/DefaultSqlParamBuilder.java

@@ -1,12 +1,13 @@
 package org.hsweb.web.mybatis.builder;
 
-import org.hsweb.web.bean.common.Term;
-import org.hsweb.web.bean.common.TermType;
+import org.apache.commons.beanutils.BeanUtils;
+import org.hsweb.web.bean.common.*;
 import org.hsweb.web.mybatis.utils.SqlAppender;
 import org.webbuilder.utils.common.DateTimeUtils;
 import org.webbuilder.utils.common.StringUtils;
 
 import java.sql.JDBCType;
+import java.sql.SQLException;
 import java.util.*;
 
 /**
@@ -14,6 +15,14 @@ import java.util.*;
  */
 public class DefaultSqlParamBuilder {
 
+    public String getQuoteStart() {
+        return "\"";
+    }
+
+    public String getQuoteEnd() {
+        return "\"";
+    }
+
     protected Map<TermType, KeyWordMapper> mapperMap = new HashMap<>();
 
     private static DefaultSqlParamBuilder instance = new DefaultSqlParamBuilder();
@@ -138,6 +147,92 @@ public class DefaultSqlParamBuilder {
         return sqlAppender.toString();
     }
 
+    public String buildSelectFields(Map<String, Object> fieldConfig, SqlParam param) {
+        if(param==null)return "*";
+        Set<String> includes = param.getIncludes(),
+                excludes = param.getExcludes();
+        boolean includesIsEmpty = includes.isEmpty(),
+                excludesIsEmpty = excludes.isEmpty();
+        if (includesIsEmpty && excludesIsEmpty)
+            return "*";
+        Map<String, String> propertyMapper = getPropertyMapper(fieldConfig, param);
+        SqlAppender appender = new SqlAppender();
+        propertyMapper.forEach((k, v) -> {
+            if (!appender.isEmpty())
+                appender.add(",");
+            appender.add(k, " as ").addEdSpc(getQuoteStart(), k, getQuoteEnd());
+        });
+        if (appender.isEmpty()) return "*";
+        return appender.toString();
+    }
+
+    public String buildUpdateFields(Map<String, Object> fieldConfig, UpdateParam param) throws Exception {
+        Map<String, String> propertyMapper = getPropertyMapper(fieldConfig, param);
+        SqlAppender appender = new SqlAppender();
+        propertyMapper.forEach((k, v) -> {
+            try {
+                Object obj = BeanUtils.getProperty(param.getData(), v);
+                if (obj != null) {
+                    if (!appender.isEmpty())
+                        appender.add(",");
+                    appender.add(k, "=", "#{data.", v, "}");
+                }
+            } catch (Exception e) {
+            }
+        });
+        if (appender.isEmpty()) throw new SQLException("未指定列");
+        return appender.toString();
+    }
+
+    public String buildOrder(Map<String, Object> fieldConfig, String tableName, QueryParam param) throws Exception {
+        QueryParam tmp = new QueryParam();
+        tmp.setSorts(param.getSorts());
+        Map<String, String> propertyMapper = getPropertyMapper(fieldConfig, tmp);
+        if (tmp.getSorts().isEmpty()) return "";
+        Set<Sort> sorts = new LinkedHashSet<>();
+        param.getSorts().forEach(sort -> {
+            String fieldName = sort.getField();
+            if (StringUtils.isNullOrEmpty(fieldName)) return;
+            if (fieldName.contains("."))
+                fieldName = fieldName.split("[.]")[1];
+            if (propertyMapper.containsKey(fieldName) || propertyMapper.containsValue(fieldName)) {
+                sorts.add(sort);
+            }
+        });
+        if (sorts.isEmpty()) return "";
+        String sql = sorts.stream()
+                .map(sort -> {
+                    String fieldName = sort.getField();
+                    if (fieldName.contains("."))
+                        fieldName = fieldName.split("[.]")[1];
+                    return new SqlAppender()
+                            .add(tableName, ".", StringUtils.camelCase2UnderScoreCase(fieldName), " ", sort.getDir()).toString();
+                })
+                .reduce((s, s1) -> new SqlAppender().add(s, ",", s1).toString()).get();
+        return " order by ".concat(sql);
+    }
+
+    public Map<String, String> getPropertyMapper(Map<String, Object> fieldConfig, SqlParam param) {
+        Set<String> includes = param.getIncludes(),
+                excludes = param.getExcludes();
+        boolean includesIsEmpty = includes.isEmpty(),
+                excludesIsEmpty = excludes.isEmpty();
+        Map<String, String> propertyMapper = new HashMap<>();
+        fieldConfig.forEach((k, v) -> {
+            Map<String, Object> config = ((Map) v);
+            String fieldName = (String) config.get("property");
+            if (fieldName == null) fieldName = k;
+            if (includesIsEmpty && excludesIsEmpty) {
+                propertyMapper.put(k, fieldName);
+                return;
+            }
+            if (includes.contains(fieldName) || includes.contains(k)) {
+                propertyMapper.put(k, fieldName);
+            }
+        });
+        return propertyMapper;
+    }
+
     public JDBCType getFieldJDBCType(String field, Map<String, Object> fieldConfig) {
         if (field == null) return JDBCType.NULL;
         Object conf = fieldConfig.get(field);
@@ -150,11 +245,27 @@ public class DefaultSqlParamBuilder {
         return JDBCType.VARCHAR;
     }
 
+    public String getColumn(Map<String, Object> fieldConfig, String name) {
+        if (name == null) return null;
+        Map<String, Object> config = ((Map) fieldConfig.get(name));
+        if (config == null) {
+            for (Map.Entry<String, Object> entry : fieldConfig.entrySet()) {
+                String fieldName = (String) ((Map) entry.getValue()).get("property");
+                if (name.equals(fieldName)) {
+                    return entry.getKey();
+                }
+            }
+        }
+        return name;
+    }
+
     public void buildWhere(Map<String, Object> fieldConfig, String prefix, List<Term> terms, SqlAppender appender) {
         if (terms == null || terms.isEmpty()) return;
         int index = 0;
         String prefixTmp = StringUtils.concat(prefix, StringUtils.isNullOrEmpty(prefix) ? "" : ".");
         for (Term term : terms) {
+            String column = getColumn(fieldConfig, term.getField());
+            if (column != null) term.setField(column);
             boolean nullTerm = StringUtils.isNullOrEmpty(term.getField());
             //不是空条件 也不是可选字段
             if (!nullTerm && !fieldConfig.containsKey(term.getField())) continue;
@@ -239,6 +350,11 @@ public class DefaultSqlParamBuilder {
         return new ArrayList<>();
     }
 
+    public void test(Object data){
+
+        System.out.println(data);
+    }
+
     public interface KeyWordMapper {
         String fieldMapper(String paramKey, Term term, JDBCType jdbcType);
     }

+ 10 - 0
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/builder/MysqlParamBuilder.java

@@ -13,4 +13,14 @@ public class MysqlParamBuilder extends DefaultSqlParamBuilder {
     public static MysqlParamBuilder instance() {
         return instance;
     }
+
+    @Override
+    public String getQuoteStart() {
+        return "`";
+    }
+
+    @Override
+    public String getQuoteEnd() {
+        return "`";
+    }
 }

+ 61 - 0
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/handler/JsonArrayHandler.java

@@ -0,0 +1,61 @@
+package org.hsweb.web.mybatis.handler;
+
+import com.alibaba.fastjson.JSON;
+import org.apache.ibatis.type.BaseTypeHandler;
+import org.apache.ibatis.type.JdbcType;
+
+import java.sql.CallableStatement;
+import java.sql.PreparedStatement;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by zhouhao on 16-5-14.
+ */
+public class JsonArrayHandler extends BaseTypeHandler<List<Object>> {
+
+    @Override
+    public List<Object> getResult(ResultSet rs, int columnIndex) throws SQLException {
+        String s = rs.getString(columnIndex);
+        return JSON.parseArray(s);
+    }
+
+    @Override
+    public List<Object> getResult(ResultSet rs, String columnName) throws SQLException {
+        String s = rs.getString(columnName);
+        return JSON.parseArray(s);
+    }
+
+    @Override
+    public List<Object> getResult(CallableStatement cs, int columnIndex) throws SQLException {
+        String s = cs.getString(columnIndex);
+        return JSON.parseArray(s);
+    }
+
+    @Override
+    public void setParameter(PreparedStatement ps, int i, List<Object> parameter, JdbcType jdbcType) throws SQLException {
+        ps.setString(i, JSON.toJSONString(parameter));
+    }
+
+    @Override
+    public void setNonNullParameter(PreparedStatement ps, int i, List<Object> parameter, JdbcType jdbcType) throws SQLException {
+        ps.setString(i, "[]");
+    }
+
+    @Override
+    public List<Object> getNullableResult(ResultSet rs, String columnName) throws SQLException {
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<Object> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
+        return new ArrayList<>();
+    }
+
+    @Override
+    public List<Object> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
+        return new ArrayList<>();
+    }
+}

+ 1 - 1
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/mybatis/plgins/pager/PagerInterceptor.java

@@ -53,7 +53,7 @@ public class PagerInterceptor implements Interceptor {
             if (obj instanceof QueryParam) {
                 QueryParam param = (QueryParam) obj;
                 PagerHelper helper = pagerHelperBase.get(dialect);
-                if (helper != null && !sql.contains("count(0)")) {
+                if (helper != null && param.isPaging() && !sql.contains("count(0)")) {
                     String newSql = helper.doPaging(param, sql);
                     metaStatementHandler.setValue("delegate.boundSql.sql", newSql);
                 }

+ 17 - 88
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/basic/BasicMapper.xml

@@ -4,77 +4,18 @@
         "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="BasicMapper">
     <sql id="buildWhereV2">
-        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildWhere($fieldsInfo,#this['_parameter'].terms)}
+        ${@org.hsweb.web.mybatis.builder.MysqlParamBuilder@instance().buildWhere($fieldsInfo,#this['_parameter'].terms)}
+    </sql>
+    <sql id="buildSelectFieldV2">
+        ${@org.hsweb.web.mybatis.builder.MysqlParamBuilder@instance().buildSelectFields($fieldsInfo,#this['_parameter'])}
     </sql>
     <!--通用查询条件-->
     <sql id="buildWhere">
         <include refid="BasicMapper.buildWhereV2"/>
-        <!--动态生成查询条件-->
-        <!--<foreach item="item" index="index" collection="$fields">-->
-            <!--<if test="#this['term.'+item]!=null">-->
-                <!--AND `${$tableName}`.`${item}`=#{term.${item}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOT']!=null">-->
-                <!--AND `${$tableName}`.`${item}`!=#{term.${item+'$NOT'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$LIKE']!=null">-->
-                <!--AND ${$tableName}.${item} like #{term.${item+'$LIKE'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTLIKE']!=null">-->
-                <!--AND  ${$tableName}.${item} not like #{term.${item+'$LIKE'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$IN']!=null">-->
-                <!--AND `${$tableName}`.`${item}` IN-->
-                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$IN']" open="(" separator="," close=")">-->
-                    <!--#{it}-->
-                <!--</foreach>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTIN']!=null">-->
-                <!--AND `${$tableName}`.`${item}` NOT IN-->
-                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$NOTIN']" open="(" separator="," close=")">-->
-                    <!--#{it}-->
-                <!--</foreach>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$ISNULL']!=null">-->
-                <!--AND `${$tableName}`.`${item}` IS NULL-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTNULL']!=null">-->
-                <!--AND `${$tableName}`.`${item}` IS NOT NULL-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$GT']!=null">-->
-                <!--AND `${$tableName}`.`${item}` &gt;=#{term.${item+'$GT'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$LT']!=null">-->
-                <!--AND `${$tableName}`.`${item}` &lt;=#{term.${item+'$LT'}}-->
-            <!--</if>-->
-        <!--</foreach>-->
-        <!--动态生成查询条件结束-->
     </sql>
     <!--生成查询字段-->
     <sql id="buildSelectField">
-        <bind name="fieldHasLen" value="false"/>
-        <choose>
-            <!--指定查询的字段-->
-            <when test="includes!=null and includes.size()>0">
-                <foreach item="item" index="index" collection="includes" open="" separator="," close="">
-                    <if test="item in $fields">
-                        <bind name="fieldHasLen" value="true"/>
-                        ${$tableName}.${item} as `${item}`
-                    </if>
-                </foreach>
-            </when>
-            <!--指定不查询的字段-->
-            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
-                <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
-                    <if test="!(item in excludes)">
-                        <bind name="fieldHasLen" value="true"/>
-                        ${$tableName}.${item} as `${item}`
-                    </if>
-                </foreach>
-            </when>
-            <otherwise> <bind name="fieldHasLen" value="true"/>*</otherwise>
-        </choose>
-        <if test="!fieldHasLen">*</if>
+        <include refid="BasicMapper.buildSelectFieldV2"/>
     </sql>
 
     <!--生成修改字段-->
@@ -85,7 +26,7 @@
                 <when test="includes!=null and includes.size()>0">
                     <foreach item="item" index="index" collection="includes" open="" separator="," close="">
                         <if test="item in $fields">
-                            `${item}`=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}=#{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </when>
@@ -93,7 +34,7 @@
                 <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
                         <if test="!(item in excludes)">
-                            `${item}`= #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}= #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </when>
@@ -101,7 +42,7 @@
                 <otherwise>
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
                         <if test="data[item] != null">
-                            `${item}`=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}=#{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </otherwise>
@@ -114,16 +55,16 @@
         <choose>
             <when test="includes!=null and includes.size()>0">
                 <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
-                    <if test="item in $fields">`${item}`</if>
+                    <if test="item in $fields">${item}</if>
                 </foreach>
             </when>
             <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                 <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
-                    <if test="!(item in excludes)">`${item}`</if>
+                    <if test="!(item in excludes)">${item}</if>
                 </foreach>
             </when>
             <otherwise>
-                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">`${item}`</foreach>
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">${item}</foreach>
             </otherwise>
         </choose>
     </sql>
@@ -134,20 +75,20 @@
             <when test="includes!=null and includes.size()>0">
                 <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
                     <if test="item in $fields">
-                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                     </if>
                 </foreach>
             </when>
             <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                 <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
                     <if test="!(item in excludes)">
-                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                     </if>
                 </foreach>
             </when>
             <otherwise>
                 <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
-                    #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                 </foreach>
             </otherwise>
         </choose>
@@ -155,19 +96,7 @@
 
     <!--生成排序字段-->
     <sql id="buildSortField">
-        <bind name="fieldHasLen" value="false"/>
-        <choose>
-            <!--指定排序的字段-->
-            <when test="sortField!=null and sortField.size()>0">
-                <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
-                    <if test="item in $fields">
-                        <if test="!fieldHasLen"> order by </if>${$tableName}.${item}
-                        <bind name="fieldHasLen" value="true"/>
-                    </if>
-                </foreach>
-                <if test="fieldHasLen"> ${sortOrder}</if>
-            </when>
-        </choose>
+        ${@org.hsweb.web.mybatis.builder.MysqlParamBuilder@instance().buildOrder($fieldsInfo,$tableName,#this['_parameter'])}
     </sql>
 
     <!--生成查询sql-->
@@ -197,8 +126,8 @@
         <where>
             <include refid="BasicMapper.buildWhereV2"/>
             <!--<include refid="BasicMapper.buildWhere"/>-->
-            <if test="term.size()==0">
-                u_id=#{data.u_id}
+            <if test="terms.size()==0">
+                u_id=#{data.uId}
             </if>
         </where>
     </sql>

+ 214 - 0
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/basic/BasicMapper.xml.old

@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="BasicMapper">
+    <sql id="buildWhereV2">
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildWhere($fieldsInfo,#this['_parameter'].terms)}
+    </sql>
+    <!--通用查询条件-->
+    <sql id="buildWhere">
+        <include refid="BasicMapper.buildWhereV2"/>
+        <!--动态生成查询条件-->
+        <!--<foreach item="item" index="index" collection="$fields">-->
+            <!--<if test="#this['term.'+item]!=null">-->
+                <!--AND `${$tableName}`.`${item}`=#{term.${item}}-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$NOT']!=null">-->
+                <!--AND `${$tableName}`.`${item}`!=#{term.${item+'$NOT'}}-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$LIKE']!=null">-->
+                <!--AND ${$tableName}.${item} like #{term.${item+'$LIKE'}}-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$NOTLIKE']!=null">-->
+                <!--AND  ${$tableName}.${item} not like #{term.${item+'$LIKE'}}-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$IN']!=null">-->
+                <!--AND `${$tableName}`.`${item}` IN-->
+                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$IN']" open="(" separator="," close=")">-->
+                    <!--#{it}-->
+                <!--</foreach>-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$NOTIN']!=null">-->
+                <!--AND `${$tableName}`.`${item}` NOT IN-->
+                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$NOTIN']" open="(" separator="," close=")">-->
+                    <!--#{it}-->
+                <!--</foreach>-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$ISNULL']!=null">-->
+                <!--AND `${$tableName}`.`${item}` IS NULL-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$NOTNULL']!=null">-->
+                <!--AND `${$tableName}`.`${item}` IS NOT NULL-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$GT']!=null">-->
+                <!--AND `${$tableName}`.`${item}` &gt;=#{term.${item+'$GT'}}-->
+            <!--</if>-->
+            <!--<if test="#this['term.'+item+'$LT']!=null">-->
+                <!--AND `${$tableName}`.`${item}` &lt;=#{term.${item+'$LT'}}-->
+            <!--</if>-->
+        <!--</foreach>-->
+        <!--动态生成查询条件结束-->
+    </sql>
+    <!--生成查询字段-->
+    <sql id="buildSelectField">
+        <bind name="fieldHasLen" value="false"/>
+        <choose>
+            <!--指定查询的字段-->
+            <when test="includes!=null and includes.size()>0">
+                <foreach item="item" index="index" collection="includes" open="" separator="," close="">
+                    <if test="item in $fields">
+                        <bind name="fieldHasLen" value="true"/>
+                        ${$tableName}.${item} as `${item}`
+                    </if>
+                </foreach>
+            </when>
+            <!--指定不查询的字段-->
+            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
+                    <if test="!(item in excludes)">
+                        <bind name="fieldHasLen" value="true"/>
+                        ${$tableName}.${item} as `${item}`
+                    </if>
+                </foreach>
+            </when>
+            <otherwise> <bind name="fieldHasLen" value="true"/>*</otherwise>
+        </choose>
+        <if test="!fieldHasLen">*</if>
+    </sql>
+
+    <!--生成修改字段-->
+    <sql id="buildUpdateField">
+        <set>
+            <choose>
+                <!--指定要修改的字段-->
+                <when test="includes!=null and includes.size()>0">
+                    <foreach item="item" index="index" collection="includes" open="" separator="," close="">
+                        <if test="item in $fields">
+                            `${item}`=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </when>
+                <!--指定不修改的字段-->
+                <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                    <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
+                        <if test="!(item in excludes)">
+                            `${item}`= #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </when>
+                <!--修改所有-->
+                <otherwise>
+                    <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
+                        <if test="data[item] != null">
+                            `${item}`=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </otherwise>
+            </choose>
+        </set>
+    </sql>
+
+    <!--生成插入字段-->
+    <sql id="buildInsertField">
+        <choose>
+            <when test="includes!=null and includes.size()>0">
+                <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
+                    <if test="item in $fields">`${item}`</if>
+                </foreach>
+            </when>
+            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    <if test="!(item in excludes)">`${item}`</if>
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">`${item}`</foreach>
+            </otherwise>
+        </choose>
+    </sql>
+
+    <!--生成插入值-->
+    <sql id="buildInsertValues">
+        <choose>
+            <when test="includes!=null and includes.size()>0">
+                <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
+                    <if test="item in $fields">
+                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    </if>
+                </foreach>
+            </when>
+            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    <if test="!(item in excludes)">
+                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    </if>
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                </foreach>
+            </otherwise>
+        </choose>
+    </sql>
+
+    <!--生成排序字段-->
+    <sql id="buildSortField">
+        <bind name="fieldHasLen" value="false"/>
+        <choose>
+            <!--指定排序的字段-->
+            <when test="sortField!=null and sortField.size()>0">
+                <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
+                    <if test="item in $fields">
+                        <if test="!fieldHasLen"> order by </if>${$tableName}.${item}
+                        <bind name="fieldHasLen" value="true"/>
+                    </if>
+                </foreach>
+                <if test="fieldHasLen"> ${sortOrder}</if>
+            </when>
+        </choose>
+    </sql>
+
+    <!--生成查询sql-->
+    <sql id="buildSelectSql">
+        select
+        <include refid="BasicMapper.buildSelectField"/>
+        from ${$tableName}
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+        </where>
+        <include refid="BasicMapper.buildSortField"/>
+    </sql>
+
+    <!--生成InsertSql-->
+    <sql id="buildInsertSql">
+        insert into ${$tableName}
+        <include refid="BasicMapper.buildInsertField"/>
+        values
+        <include refid="BasicMapper.buildInsertValues"/>
+    </sql>
+
+    <!--生成UpdateSql-->
+    <sql id="buildUpdateSql">
+        update ${$tableName}
+        <include refid="BasicMapper.buildUpdateField"/>
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+            <if test="term.size()==0">
+                u_id=#{data.u_id}
+            </if>
+        </where>
+    </sql>
+
+    <!--生成查询数量sql-->
+    <sql id="buildTotalSql">
+        select count(0) as "total" from ${$tableName}
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+        </where>
+    </sql>
+</mapper>

+ 71 - 0
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/classified/ClassifiedMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="org.hsweb.web.dao.classified.ClassifiedMapper">
+    <resultMap id="ClassifiedResultMap" type="org.hsweb.web.bean.po.classified.Classified">
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+            <result property="name" column="name" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="type" column="type" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="pId" column="p_id" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="icon" column="icon" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="config" column="config" javaType="java.lang.String" jdbcType="CLOB"/>
+            <result property="sortIndex" column="sort_index" javaType="int" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!--字段配置-->
+    <sql id="fieldConfig">
+        <bind name="$fieldsInfo"
+              value="#{
+                    'uId':#{'column':'uId','jdbcType':'VARCHAR','javaType':'String'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'type':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'p_id':#{'property':'pId','jdbcType':'VARCHAR','javaType':'String'}
+                    ,'icon':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'config':#{'jdbcType':'CLOB','javaType':'String'}
+                    ,'sort_index':#{'jdbcType':'INTEGER','javaType':'int'}
+                    }"/>
+
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
+    </sql>
+
+    <!--表名-->
+    <sql id="tableName">
+        <bind name="$tableName" value="'s_classified'"/>
+    </sql>
+
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="u_id">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
+    </insert>
+
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_classified where u_id=#{term.primaryKey}
+    </delete>
+
+    <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
+    </update>
+
+    <select id="selectByPk" parameterType="string" resultMap="ClassifiedResultMap">
+        select * from s_classified where u_id=#{id}
+    </select>
+
+    <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ClassifiedResultMap">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildSelectSql"/>
+    </select>
+
+    <select id="total" parameterType="org.hsweb.web.bean.common.QueryParam" resultType="int">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildTotalSql"/>
+    </select>
+</mapper>

+ 7 - 8
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/config/ConfigMapper.xml

@@ -5,11 +5,10 @@
 
 <mapper namespace="org.hsweb.web.dao.config.ConfigMapper">
     <resultMap id="ConfigResultMap" type="Config">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" column="u_id" javaType="String" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="content" column="content" javaType="String" jdbcType="VARCHAR"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
     </resultMap>
 
@@ -17,11 +16,11 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'TIMESTAMP','javaType':'date'}
                      ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     }"/>
 
@@ -32,7 +31,7 @@
         <bind name="$tableName" value="'s_config'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -49,7 +48,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ConfigResultMap">
-        select * from s_config where u_id=#{u_id}
+        select * from s_config where u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ConfigResultMap">

+ 8 - 8
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/form/FormMapper.xml

@@ -5,7 +5,7 @@
 
 <mapper namespace="org.hsweb.web.dao.form.FormMapper">
     <resultMap id="FormResultMap" type="Form">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="html" column="html" javaType="String" jdbcType="VARCHAR"/>
         <result property="meta" column="meta" javaType="String" jdbcType="VARCHAR"/>
@@ -15,15 +15,15 @@
         <result property="revision" column="revision" javaType="int" jdbcType="INTEGER"/>
         <result property="release" column="release" javaType="int" jdbcType="INTEGER"/>
         <result property="using" column="using" javaType="boolean" jdbcType="INTEGER"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
-        <result property="update_date" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="updateDate" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'html':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'meta':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -33,8 +33,8 @@
                     ,'revision':#{'jdbcType':'INTEGER','javaType':'number'}
                     ,'release':#{'jdbcType':'INTEGER','javaType':'number'}
                     ,'using':#{'jdbcType':'INTEGER','javaType':'boolean'}
-                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'VARCHAR','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'VARCHAR','javaType':'date'}
                     }"/>
 
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
@@ -45,7 +45,7 @@
         <bind name="$tableName" value="'s_form'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -62,7 +62,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="FormResultMap">
-        select * from s_form WHERE u_id=#{u_id}
+        select * from s_form WHERE u_id=#{id}
     </select>
 
     <select id="selectUsing" parameterType="string" resultMap="FormResultMap">

+ 16 - 16
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/history/HistoryMapper.xml

@@ -5,30 +5,30 @@
 
 <mapper namespace="org.hsweb.web.dao.history.HistoryMapper">
     <resultMap id="HistoryResultMap" type="History">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
         <result property="describe" column="describe" javaType="String" jdbcType="VARCHAR"/>
-        <result property="primary_key_name" column="primary_key_name" javaType="String" jdbcType="VARCHAR"/>
-        <result property="primary_key_value" column="primary_key_value" javaType="String" jdbcType="VARCHAR"/>
-        <result property="change_before" column="change_before" javaType="String" jdbcType="VARCHAR"/>
-        <result property="change_after" column="change_after" javaType="String" jdbcType="INTEGER"/>
-        <result property="creator_id" column="creator_id" javaType="String" jdbcType="VARCHAR"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="primaryKeyName" column="primary_key_name" javaType="String" jdbcType="VARCHAR"/>
+        <result property="primaryKeyValue" column="primary_key_value" javaType="String" jdbcType="VARCHAR"/>
+        <result property="changeBefore" column="change_before" javaType="String" jdbcType="VARCHAR"/>
+        <result property="changeAfter" column="change_after" javaType="String" jdbcType="INTEGER"/>
+        <result property="creatorId" column="creator_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'describe':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'primary_key_name':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'primary_key_value':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'change_before':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'change_after':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'creator_id':#{'jdbcType':'VARCHAR','javaType':'boolean'}
-                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'primary_key_name':#{'property':'primaryKeyName','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'primary_key_value':#{'property':'primaryKeyValue','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'change_before':#{'property':'changeBefore','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'change_after':#{'property':'changeAfter','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'creator_id':#{'property':'creatorId','jdbcType':'VARCHAR','javaType':'boolean'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'VARCHAR','javaType':'date'}
                     }"/>
 
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
@@ -39,7 +39,7 @@
         <bind name="$tableName" value="'s_history'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -56,7 +56,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="HistoryResultMap">
-        select * from s_history WHERE u_id=#{u_id}
+        select * from s_history WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="HistoryResultMap">

+ 10 - 10
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/module/ModuleMapper.xml

@@ -5,30 +5,30 @@
 
 <mapper namespace="org.hsweb.web.dao.module.ModuleMapper">
     <resultMap id="ModuleResultMap" type="Module">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="uri" column="uri" javaType="String" jdbcType="VARCHAR"/>
         <result property="icon" column="icon" javaType="String" jdbcType="VARCHAR"/>
-        <result property="p_id" column="p_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="pId" column="p_id" javaType="String" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="status" column="status" javaType="int" jdbcType="INTEGER"/>
-        <result property="m_option" column="m_option" javaType="String" jdbcType="VARCHAR"/>
-        <result property="sort_index" column="sort_index" javaType="long" jdbcType="INTEGER"/>
+        <result property="mOption" column="m_option" javaType="String" jdbcType="VARCHAR"/>
+        <result property="sortIndex" column="sort_index" javaType="long" jdbcType="INTEGER"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'uri':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'icon':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'p_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'p_id':#{'property':'pId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'m_option':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'sort_index':#{'jdbcType':'INTEGER','javaType':'number'}
+                    ,'m_option':#{'property':'mOption','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'sort_index':#{'property':'sortIndex','jdbcType':'INTEGER','javaType':'number'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -37,7 +37,7 @@
         <bind name="$tableName" value="'s_modules'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -54,7 +54,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ModuleResultMap">
-        select * from s_modules WHERE u_id=#{u_id}
+        select * from s_modules WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ModuleResultMap">

+ 9 - 9
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/resource/ResourcesMapper.xml

@@ -5,28 +5,28 @@
 
 <mapper namespace="org.hsweb.web.dao.resource.ResourcesMapper">
     <resultMap id="ResourcesResultMap" type="Resources" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR" />
         <result property="path" column="path" javaType="String" jdbcType="VARCHAR" />
-        <result property="creator_id" column="creator_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="creatorId" column="creator_id" javaType="String" jdbcType="VARCHAR" />
         <result property="md5" column="md5" javaType="String" jdbcType="VARCHAR" />
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR" />
         <result property="status" column="status" javaType="int" jdbcType="INTEGER" />
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP" />
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP" />
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'path':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'creator_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'creator_id':#{'property':'creatorId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'md5':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -35,13 +35,13 @@
         <bind name="$tableName" value="'s_resources'"/>
     </sql>
 
-    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="u_id">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Resources" >
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
         delete from s_resources where u_id=#{term.primaryKey}
     </delete>
 
@@ -52,7 +52,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ResourcesResultMap">
-        select * from s_resources WHERE u_id=#{u_id}
+        select * from s_resources WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ResourcesResultMap">

+ 4 - 4
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/RoleMapper.xml

@@ -4,7 +4,7 @@
         "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.hsweb.web.dao.role.RoleMapper">
     <resultMap id="RoleResultMap" type="Role">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
@@ -16,7 +16,7 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -29,7 +29,7 @@
         <bind name="$tableName" value="'s_role'"/>
     </sql>
 
-    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -46,7 +46,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="RoleResultMap">
-        select * from s_role where u_id=#{u_id}
+        select * from s_role where u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="RoleResultMap">

+ 9 - 8
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/RoleModuleMapper.xml

@@ -5,10 +5,11 @@
 
 <mapper namespace="org.hsweb.web.dao.role.RoleModuleMapper">
     <resultMap id="RoleModuleResultMap" type="RoleModule" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
-        <result property="module_id" column="module_id" javaType="String" jdbcType="VARCHAR" />
-        <result property="role_id" column="role_id" javaType="String" jdbcType="VARCHAR" />
-        <result property="o_level" column="o_level" javaType="String" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <result property="moduleId" column="module_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="roleId" column="role_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="actions" column="o_level" javaType="String" jdbcType="VARCHAR"
+                typeHandler="org.hsweb.web.mybatis.handler.JsonArrayHandler" />
         <collection property="module" column="module_id" ofType="Module" select="org.hsweb.web.dao.module.ModuleMapper.selectByPk"/>
     </resultMap>
 
@@ -16,10 +17,10 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'module_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'o_level':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'module_id':#{'property':'moduleId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'property':'roleId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'actions':#{'jdbcType':'VARCHAR','javaType':'list'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>

+ 6 - 6
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/role/UserRoleMapper.xml

@@ -5,9 +5,9 @@
 
 <mapper namespace="org.hsweb.web.dao.role.UserRoleMapper">
     <resultMap id="UserRoleResultMap" type="UserRole">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="user_id" column="user_id" javaType="String" jdbcType="VARCHAR"/>
-        <result property="role_id" column="role_id" javaType="String" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <result property="userId" column="user_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="roleId" column="role_id" javaType="String" jdbcType="VARCHAR"/>
         <collection property="role" column="role_id" jdbcType="VARCHAR" ofType="Role"
                     select="org.hsweb.web.dao.role.RoleMapper.selectByPk"></collection>
     </resultMap>
@@ -16,9 +16,9 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'user_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'user_id':#{'property':'userId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'property':'roleId','jdbcType':'VARCHAR','javaType':'string'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>

+ 7 - 6
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/script/DynamicScriptMapper.xml

@@ -5,7 +5,7 @@
 
 <mapper namespace="org.hsweb.web.dao.script.DynamicScriptMapper">
     <resultMap id="DynamicScriptResultMap" type="DynamicScript" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR" />
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR" />
         <result property="content" column="content" javaType="String" jdbcType="VARCHAR" />
@@ -18,7 +18,7 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -32,7 +32,7 @@
 
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_SCRIPT'"/>
+        <bind name="$tableName" value="'s_script'"/>
     </sql>
 
     <insert id="insert" parameterType="DynamicScript" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
@@ -41,10 +41,11 @@
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="UserRole">
-        delete from s_user_role where u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_script where u_id=#{term.primaryKey}
     </delete>
 
+
     <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
@@ -52,7 +53,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="DynamicScriptResultMap">
-        SELECT * FROM S_SCRIPT WHERE u_id=#{u_id}
+        select * from s_script where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="DynamicScriptResultMap">

+ 10 - 10
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/mysql/user/UserMapper.xml

@@ -5,15 +5,15 @@
 
 <mapper namespace="org.hsweb.web.dao.user.UserMapper">
     <resultMap id="UserResultMap" type="User">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="username" column="username" javaType="String" jdbcType="VARCHAR"/>
         <result property="password" column="password" javaType="String" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="email" column="email" javaType="String" jdbcType="VARCHAR"/>
         <result property="phone" column="phone" javaType="String" jdbcType="VARCHAR"/>
         <result property="status" column="status" javaType="int" jdbcType="INTEGER"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
-        <result property="update_date" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="updateDate" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
         <collection property="userRoles" column="u_id" ofType="UserRole"
                     select="org.hsweb.web.dao.role.UserRoleMapper.selectByUserId"/>
     </resultMap>
@@ -21,15 +21,15 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'username':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'password':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'email':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'phone':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'TIMESTAMP','javaType':'date'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -38,18 +38,18 @@
         <bind name="$tableName" value="'s_user'"/>
     </sql>
 
-    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="UserRole">
-        delete from s_user where u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_user where u_id=#{term.primaryKey}
     </delete>
 
     <update id="updatePassword" parameterType="User">
-        update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{u_id}
+        update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{uId}
     </update>
 
     <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">

+ 12 - 111
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml

@@ -6,103 +6,16 @@
     <sql id="buildWhereV2">
         ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildWhere($fieldsInfo,#this['_parameter'].terms)}
     </sql>
-
+    <sql id="buildSelectFieldV2">
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildSelectFields($fieldsInfo,#this['_parameter'])}
+    </sql>
     <!--通用查询条件-->
     <sql id="buildWhere">
         <include refid="BasicMapper.buildWhereV2"/>
-        <!--动态生成查询条件-->
-        <!--<foreach item="item" index="index" collection="$fields">-->
-            <!--<if test="#this['term.'+item]!=null">-->
-                <!--<choose>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
-                        <!--AND ${$tableName}.${item}=to_date(#{term.${item}},'YYYY-MM-DD HH24:MI:SS')-->
-                    <!--</when>-->
-                    <!--<otherwise>AND ${$tableName}.${item}=#{term.${item}}</otherwise>-->
-                <!--</choose>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOT']!=null">-->
-                <!--<choose>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
-                        <!--AND ${$tableName}.${item}!=to_date(#{term.${item+'$NOT'}},'YYYY-MM-DD HH24:MI:SS')-->
-                    <!--</when>-->
-                    <!--<otherwise>AND ${$tableName}.${item}!=#{term.${item+'$NOT'}}</otherwise>-->
-                <!--</choose>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$LIKE']!=null">-->
-                <!--AND ${$tableName}.${item} like #{term.${item+'$LIKE'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTLIKE']!=null">-->
-                <!--AND ${$tableName}.${item} not like #{term.${item+'$LIKE'}}-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$IN']!=null">-->
-                <!--AND ${$tableName}.${item} IN-->
-                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$IN']" open="(" separator="," close=")">-->
-                    <!--#{it}-->
-                <!--</foreach>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTIN']!=null">-->
-                <!--AND ${$tableName}.${item} NOT IN-->
-                <!--<foreach item="it" index="i" collection="#this['term.'+item+'$NOTIN']" open="(" separator="," close=")">-->
-                    <!--#{it}-->
-                <!--</foreach>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$ISNULL']!=null">-->
-                <!--AND ${$tableName}.${item} IS NULL-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$NOTNULL']!=null">-->
-                <!--AND ${$tableName}.${item} IS NOT NULL-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$GT']!=null">-->
-                <!--<choose>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
-                        <!--AND ${$tableName}.${item} &gt;=to_date(#{term.${item+'$GT'}},'YYYY-MM-DD HH24:MI:SS')-->
-                    <!--</when>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'number' ">-->
-                        <!--AND ${$tableName}.${item} &gt;=#{term.${item+'$GT'}}-->
-                    <!--</when>-->
-                    <!--<otherwise></otherwise>-->
-                <!--</choose>-->
-            <!--</if>-->
-            <!--<if test="#this['term.'+item+'$LT']!=null">-->
-                <!--<choose>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
-                        <!--AND ${$tableName}.${item} &lt;=to_date(#{term.${item+'$LT'}},'YYYY-MM-DD HH24:MI:SS')-->
-                    <!--</when>-->
-                    <!--<when test="$fieldsInfo[item]['javaType'] == 'number' ">-->
-                        <!--AND ${$tableName}.${item} &lt;=#{term.${item+'$LT'}}-->
-                    <!--</when>-->
-                    <!--<otherwise></otherwise>-->
-                <!--</choose>-->
-            <!--</if>-->
-        <!--</foreach>-->
-        <!--动态生成查询条件结束-->
     </sql>
     <!--生成查询字段-->
     <sql id="buildSelectField">
-        <bind name="fieldHasLen" value="false"/>
-        <choose>
-            <!--指定查询的字段-->
-            <when test="includes!=null and includes.size()>0">
-                <foreach item="item" index="index" collection="includes" open="" separator="," close="">
-                    <if test="item in $fields">
-                        <bind name="fieldHasLen" value="true"/>
-                        ${$tableName}.${item} as "${item}"
-                    </if>
-                </foreach>
-            </when>
-            <!--指定不查询的字段-->
-            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
-                <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
-                    <if test="!(item in excludes)">
-                        <bind name="fieldHasLen" value="true"/>
-                        ${$tableName}.${item} as "${item}"
-                    </if>
-                </foreach>
-            </when>
-            <otherwise><bind name="fieldHasLen" value="true"/>*
-            </otherwise>
-        </choose>
-        <if test="!fieldHasLen">*</if>
+        <include refid="BasicMapper.buildSelectFieldV2"/>
     </sql>
 
     <!--生成修改字段-->
@@ -113,7 +26,7 @@
                 <when test="includes!=null and includes.size()>0">
                     <foreach item="item" index="index" collection="includes" open="" separator="," close="">
                         <if test="item in $fields">
-                            ${item}=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}=#{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </when>
@@ -121,7 +34,7 @@
                 <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
                         <if test="!(item in excludes)">
-                            ${item}= #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}= #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </when>
@@ -129,7 +42,7 @@
                 <otherwise>
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
                         <if test="data[item] != null">
-                            ${item}=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                            ${item}=#{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                         </if>
                     </foreach>
                 </otherwise>
@@ -162,20 +75,20 @@
             <when test="includes!=null and includes.size()>0">
                 <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
                     <if test="item in $fields">
-                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                     </if>
                 </foreach>
             </when>
             <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                 <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
                     <if test="!(item in excludes)">
-                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                     </if>
                 </foreach>
             </when>
             <otherwise>
                 <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
-                    #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    #{data.${$fieldsInfo[item].property==null?item:$fieldsInfo[item].property},jdbcType=${$fieldsInfo[item]['jdbcType']}}
                 </foreach>
             </otherwise>
         </choose>
@@ -183,19 +96,7 @@
 
     <!--生成排序字段-->
     <sql id="buildSortField">
-        <bind name="fieldHasLen" value="false"/>
-        <choose>
-            <!--指定排序的字段-->
-            <when test="sortField!=null and sortField.size()>0">
-                <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
-                    <if test="item in $fields">
-                        <if test="!fieldHasLen">order by</if>${$tableName}.${item}
-                        <bind name="fieldHasLen" value="true"/>
-                    </if>
-                </foreach>
-                <if test="fieldHasLen">${sortOrder}</if>
-            </when>
-        </choose>
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildOrder($fieldsInfo,$tableName,#this['_parameter'])}
     </sql>
 
     <!--生成查询sql-->
@@ -226,7 +127,7 @@
             <include refid="BasicMapper.buildWhereV2"/>
             <!--<include refid="BasicMapper.buildWhere"/>-->
             <if test="terms.size()==0">
-                u_id=#{data.u_id}
+                u_id=#{data.uId}
             </if>
         </where>
     </sql>

+ 245 - 0
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml.old

@@ -0,0 +1,245 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="BasicMapper">
+    <sql id="buildWhereV2">
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildWhere($fieldsInfo,#this['_parameter'].terms)}
+    </sql>
+    <sql id="buildSelectFieldV2">
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().buildSelectFields($fieldsInfo,#this['_parameter'])}
+    </sql>
+    <!--通用查询条件-->
+    <sql id="buildWhere">
+        <include refid="BasicMapper.buildWhereV2"/>
+        <!--动态生成查询条件-->
+        <!--<foreach item="item" index="index" collection="$fields">-->
+        <!--<if test="#this['term.'+item]!=null">-->
+        <!--<choose>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
+        <!--AND ${$tableName}.${item}=to_date(#{term.${item}},'YYYY-MM-DD HH24:MI:SS')-->
+        <!--</when>-->
+        <!--<otherwise>AND ${$tableName}.${item}=#{term.${item}}</otherwise>-->
+        <!--</choose>-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$NOT']!=null">-->
+        <!--<choose>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
+        <!--AND ${$tableName}.${item}!=to_date(#{term.${item+'$NOT'}},'YYYY-MM-DD HH24:MI:SS')-->
+        <!--</when>-->
+        <!--<otherwise>AND ${$tableName}.${item}!=#{term.${item+'$NOT'}}</otherwise>-->
+        <!--</choose>-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$LIKE']!=null">-->
+        <!--AND ${$tableName}.${item} like #{term.${item+'$LIKE'}}-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$NOTLIKE']!=null">-->
+        <!--AND ${$tableName}.${item} not like #{term.${item+'$LIKE'}}-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$IN']!=null">-->
+        <!--AND ${$tableName}.${item} IN-->
+        <!--<foreach item="it" index="i" collection="#this['term.'+item+'$IN']" open="(" separator="," close=")">-->
+        <!--#{it}-->
+        <!--</foreach>-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$NOTIN']!=null">-->
+        <!--AND ${$tableName}.${item} NOT IN-->
+        <!--<foreach item="it" index="i" collection="#this['term.'+item+'$NOTIN']" open="(" separator="," close=")">-->
+        <!--#{it}-->
+        <!--</foreach>-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$ISNULL']!=null">-->
+        <!--AND ${$tableName}.${item} IS NULL-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$NOTNULL']!=null">-->
+        <!--AND ${$tableName}.${item} IS NOT NULL-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$GT']!=null">-->
+        <!--<choose>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
+        <!--AND ${$tableName}.${item} &gt;=to_date(#{term.${item+'$GT'}},'YYYY-MM-DD HH24:MI:SS')-->
+        <!--</when>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'number' ">-->
+        <!--AND ${$tableName}.${item} &gt;=#{term.${item+'$GT'}}-->
+        <!--</when>-->
+        <!--<otherwise></otherwise>-->
+        <!--</choose>-->
+        <!--</if>-->
+        <!--<if test="#this['term.'+item+'$LT']!=null">-->
+        <!--<choose>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'date' ">-->
+        <!--AND ${$tableName}.${item} &lt;=to_date(#{term.${item+'$LT'}},'YYYY-MM-DD HH24:MI:SS')-->
+        <!--</when>-->
+        <!--<when test="$fieldsInfo[item]['javaType'] == 'number' ">-->
+        <!--AND ${$tableName}.${item} &lt;=#{term.${item+'$LT'}}-->
+        <!--</when>-->
+        <!--<otherwise></otherwise>-->
+        <!--</choose>-->
+        <!--</if>-->
+        <!--</foreach>-->
+        <!--动态生成查询条件结束-->
+    </sql>
+    <!--生成查询字段-->
+    <sql id="buildSelectField">
+        <include refid="BasicMapper.buildSelectFieldV2"/>
+        <!--<bind name="fieldHasLen" value="false"/>-->
+        <!--<choose>-->
+        <!--&lt;!&ndash;指定查询的字段&ndash;&gt;-->
+        <!--<when test="includes!=null and includes.size()>0">-->
+        <!--<foreach item="item" index="index" collection="includes" open="" separator="," close="">-->
+        <!--<if test="item in $fields">-->
+        <!--<bind name="fieldHasLen" value="true"/>-->
+        <!--${$tableName}.${item} as "${item}"-->
+        <!--</if>-->
+        <!--</foreach>-->
+        <!--</when>-->
+        <!--&lt;!&ndash;指定不查询的字段&ndash;&gt;-->
+        <!--<when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">-->
+        <!--<foreach item="item" index="index" collection="$fields" open=" " separator="," close="">-->
+        <!--<if test="!(item in excludes)">-->
+        <!--<bind name="fieldHasLen" value="true"/>-->
+        <!--${$tableName}.${item} as "${item}"-->
+        <!--</if>-->
+        <!--</foreach>-->
+        <!--</when>-->
+        <!--<otherwise><bind name="fieldHasLen" value="true"/>*-->
+        <!--</otherwise>-->
+        <!--</choose>-->
+        <!--<if test="!fieldHasLen">*</if>-->
+    </sql>
+
+    <!--生成修改字段-->
+    <sql id="buildUpdateField">
+        <set>
+            <choose>
+                <!--指定要修改的字段-->
+                <when test="includes!=null and includes.size()>0">
+                    <foreach item="item" index="index" collection="includes" open="" separator="," close="">
+                        <if test="item in $fields">
+                            ${item}=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </when>
+                <!--指定不修改的字段-->
+                <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                    <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
+                        <if test="!(item in excludes)">
+                            ${item}= #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </when>
+                <!--修改所有-->
+                <otherwise>
+                    <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
+                        <if test="data[item] != null">
+                            ${item}=#{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                        </if>
+                    </foreach>
+                </otherwise>
+            </choose>
+        </set>
+    </sql>
+
+    <!--生成插入字段-->
+    <sql id="buildInsertField">
+        <choose>
+            <when test="includes!=null and includes.size()>0">
+                <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
+                    <if test="item in $fields">${item}</if>
+                </foreach>
+            </when>
+            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    <if test="!(item in excludes)">${item}</if>
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">${item}</foreach>
+            </otherwise>
+        </choose>
+    </sql>
+
+    <!--生成插入值-->
+    <sql id="buildInsertValues">
+        <choose>
+            <when test="includes!=null and includes.size()>0">
+                <foreach item="item" index="index" collection="includes" open="(" separator="," close=")">
+                    <if test="item in $fields">
+                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    </if>
+                </foreach>
+            </when>
+            <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    <if test="!(item in excludes)">
+                        #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                    </if>
+                </foreach>
+            </when>
+            <otherwise>
+                <foreach item="item" index="index" collection="$fields" open="(" separator="," close=")">
+                    #{data.${item},jdbcType=${$fieldsInfo[item]['jdbcType']}}
+                </foreach>
+            </otherwise>
+        </choose>
+    </sql>
+
+    <!--生成排序字段-->
+    <sql id="buildSortField">
+        <bind name="fieldHasLen" value="false"/>
+        <choose>
+            <!--指定排序的字段-->
+            <when test="sortField!=null and sortField.size()>0">
+                <foreach item="item" index="index" collection="sortField" open="" separator="," close="">
+                    <if test="item in $fields">
+                        <if test="!fieldHasLen">order by</if>${$tableName}.${item}
+                        <bind name="fieldHasLen" value="true"/>
+                    </if>
+                </foreach>
+                <if test="fieldHasLen">${sortOrder}</if>
+            </when>
+        </choose>
+    </sql>
+
+    <!--生成查询sql-->
+    <sql id="buildSelectSql">
+        select
+        <include refid="BasicMapper.buildSelectField"/>
+        from ${$tableName}
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+        </where>
+        <include refid="BasicMapper.buildSortField"/>
+    </sql>
+
+    <!--生成InsertSql-->
+    <sql id="buildInsertSql">
+        insert into ${$tableName}
+        <include refid="BasicMapper.buildInsertField"/>
+        values
+        <include refid="BasicMapper.buildInsertValues"/>
+    </sql>
+
+    <!--生成UpdateSql-->
+    <sql id="buildUpdateSql">
+        update ${$tableName}
+        <include refid="BasicMapper.buildUpdateField"/>
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+            <if test="terms.size()==0">
+                u_id=#{data.u_id}
+            </if>
+        </where>
+    </sql>
+
+    <!--生成查询数量sql-->
+    <sql id="buildTotalSql">
+        select count(0) as "total" from ${$tableName}
+        <where>
+            <include refid="BasicMapper.buildWhereV2"/>
+            <!--<include refid="BasicMapper.buildWhere"/>-->
+        </where>
+    </sql>
+</mapper>

+ 71 - 0
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/classified/ClassifiedMapper.xml

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="org.hsweb.web.dao.classified.ClassifiedMapper">
+    <resultMap id="ClassifiedResultMap" type="org.hsweb.web.bean.po.classified.Classified">
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+            <result property="name" column="name" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="remark" column="remark" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="type" column="type" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="pId" column="p_id" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="icon" column="icon" javaType="java.lang.String" jdbcType="VARCHAR"/>
+            <result property="config" column="config" javaType="java.lang.String" jdbcType="CLOB"/>
+            <result property="sortIndex" column="sort_index" javaType="int" jdbcType="INTEGER"/>
+    </resultMap>
+
+    <!--字段配置-->
+    <sql id="fieldConfig">
+        <bind name="$fieldsInfo"
+              value="#{
+                    'uId':#{'column':'uId','jdbcType':'VARCHAR','javaType':'String'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'type':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'p_id':#{'property':'pId','jdbcType':'VARCHAR','javaType':'String'}
+                    ,'icon':#{'jdbcType':'VARCHAR','javaType':'String'}
+                    ,'config':#{'jdbcType':'CLOB','javaType':'String'}
+                    ,'sort_index':#{'jdbcType':'INTEGER','javaType':'int'}
+                    }"/>
+
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
+    </sql>
+
+    <!--表名-->
+    <sql id="tableName">
+        <bind name="$tableName" value="'s_classified'"/>
+    </sql>
+
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="u_id">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
+    </insert>
+
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_classified where u_id=#{term.primaryKey}
+    </delete>
+
+    <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
+    </update>
+
+    <select id="selectByPk" parameterType="string" resultMap="ClassifiedResultMap">
+        select * from s_classified where u_id=#{id}
+    </select>
+
+    <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ClassifiedResultMap">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildSelectSql"/>
+    </select>
+
+    <select id="total" parameterType="org.hsweb.web.bean.common.QueryParam" resultType="int">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildTotalSql"/>
+    </select>
+</mapper>

+ 7 - 9
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/config/ConfigMapper.xml

@@ -5,12 +5,10 @@
 
 <mapper namespace="org.hsweb.web.dao.config.ConfigMapper">
     <resultMap id="ConfigResultMap" type="Config">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" column="u_id" javaType="String" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="content" column="content" javaType="String" jdbcType="VARCHAR"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
-        <result property="update_date" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
     </resultMap>
 
@@ -18,11 +16,11 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'TIMESTAMP','javaType':'date'}
                      ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     }"/>
 
@@ -33,7 +31,7 @@
         <bind name="$tableName" value="'s_config'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -50,7 +48,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ConfigResultMap">
-        select * from s_config where u_id=#{u_id}
+        select * from s_config where u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ConfigResultMap">

+ 17 - 13
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/form/FormMapper.xml

@@ -5,7 +5,7 @@
 
 <mapper namespace="org.hsweb.web.dao.form.FormMapper">
     <resultMap id="FormResultMap" type="Form">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="html" column="html" javaType="String" jdbcType="VARCHAR"/>
         <result property="meta" column="meta" javaType="String" jdbcType="VARCHAR"/>
@@ -15,15 +15,15 @@
         <result property="revision" column="revision" javaType="int" jdbcType="INTEGER"/>
         <result property="release" column="release" javaType="int" jdbcType="INTEGER"/>
         <result property="using" column="using" javaType="boolean" jdbcType="INTEGER"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
-        <result property="update_date" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="updateDate" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'html':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'meta':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -33,8 +33,8 @@
                     ,'revision':#{'jdbcType':'INTEGER','javaType':'number'}
                     ,'release':#{'jdbcType':'INTEGER','javaType':'number'}
                     ,'using':#{'jdbcType':'INTEGER','javaType':'boolean'}
-                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'VARCHAR','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'VARCHAR','javaType':'date'}
                     }"/>
 
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
@@ -45,7 +45,7 @@
         <bind name="$tableName" value="'s_form'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -62,7 +62,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="FormResultMap">
-        select * from s_form WHERE u_id=#{u_id}
+        select * from s_form WHERE u_id=#{id}
     </select>
 
     <select id="selectUsing" parameterType="string" resultMap="FormResultMap">
@@ -70,17 +70,21 @@
     </select>
 
     <select id="selectLatestList" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="FormResultMap">
-        <include refid="fieldConfig"/><!--定义字段配置-->
-        <bind name="$tableName" value="'t2'"/><!--定义表名-->
+        <include refid="fieldConfig"/>
+        <!--定义字段配置-->
+        <bind name="$tableName" value="'t2'"/>
+        <!--定义表名-->
         select
-        <include refid="BasicMapper.buildSelectField"/> <!--动态生成要查询的字段-->
+        <!--动态生成要查询的字段-->
+        <include refid="BasicMapper.buildSelectField"/>
         from (
         select s_form.name,max(s_form.version) as version from s_form s_form
         <include refid="tableName"/>
         <where>
-            <include refid="BasicMapper.buildWhere"/> <!--动态查询条件-->
+            <!--动态查询条件-->
+            <include refid="BasicMapper.buildWhere"/>
         </where>
-        group by name ) t1
+        group by name) t1
         left join s_form t2 on t1.name=t2.name and t1.version =t2.version
         <bind name="$tableName" value="'t2'"/>
         <include refid="BasicMapper.buildSortField"/>

+ 17 - 16
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/history/HistoryMapper.xml

@@ -5,30 +5,30 @@
 
 <mapper namespace="org.hsweb.web.dao.history.HistoryMapper">
     <resultMap id="HistoryResultMap" type="History">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
         <result property="describe" column="describe" javaType="String" jdbcType="VARCHAR"/>
-        <result property="primary_key_name" column="primary_key_name" javaType="String" jdbcType="VARCHAR"/>
-        <result property="primary_key_value" column="primary_key_value" javaType="String" jdbcType="VARCHAR"/>
-        <result property="change_before" column="change_before" javaType="String" jdbcType="VARCHAR"/>
-        <result property="change_after" column="change_after" javaType="String" jdbcType="INTEGER"/>
-        <result property="creator_id" column="creator_id" javaType="String" jdbcType="VARCHAR"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="primaryKeyName" column="primary_key_name" javaType="String" jdbcType="VARCHAR"/>
+        <result property="primaryKeyValue" column="primary_key_value" javaType="String" jdbcType="VARCHAR"/>
+        <result property="changeBefore" column="change_before" javaType="String" jdbcType="VARCHAR"/>
+        <result property="changeAfter" column="change_after" javaType="String" jdbcType="INTEGER"/>
+        <result property="creatorId" column="creator_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'describe':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'primary_key_name':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'primary_key_value':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'change_before':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'change_after':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'creator_id':#{'jdbcType':'VARCHAR','javaType':'boolean'}
-                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'primary_key_name':#{'property':'primaryKeyName','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'primary_key_value':#{'property':'primaryKeyValue','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'change_before':#{'property':'changeBefore','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'change_after':#{'property':'changeAfter','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'creator_id':#{'property':'creatorId','jdbcType':'VARCHAR','javaType':'boolean'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'VARCHAR','javaType':'date'}
                     }"/>
 
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
@@ -39,7 +39,7 @@
         <bind name="$tableName" value="'s_history'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -56,12 +56,13 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="HistoryResultMap">
-        select * from s_history WHERE u_id=#{u_id}
+        select * from s_history WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="HistoryResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
+        ${@org.hsweb.web.mybatis.builder.DefaultSqlParamBuilder@instance().test(#this)}
         <include refid="BasicMapper.buildSelectSql"/>
     </select>
 

+ 10 - 10
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/module/ModuleMapper.xml

@@ -5,30 +5,30 @@
 
 <mapper namespace="org.hsweb.web.dao.module.ModuleMapper">
     <resultMap id="ModuleResultMap" type="Module">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="uri" column="uri" javaType="String" jdbcType="VARCHAR"/>
         <result property="icon" column="icon" javaType="String" jdbcType="VARCHAR"/>
-        <result property="p_id" column="p_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="pId" column="p_id" javaType="String" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="status" column="status" javaType="int" jdbcType="INTEGER"/>
-        <result property="m_option" column="m_option" javaType="String" jdbcType="VARCHAR"/>
-        <result property="sort_index" column="sort_index" javaType="long" jdbcType="INTEGER"/>
+        <result property="mOption" column="m_option" javaType="String" jdbcType="VARCHAR"/>
+        <result property="sortIndex" column="sort_index" javaType="long" jdbcType="INTEGER"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'uri':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'icon':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'p_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'p_id':#{'property':'pId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'m_option':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'sort_index':#{'jdbcType':'INTEGER','javaType':'number'}
+                    ,'m_option':#{'property':'mOption','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'sort_index':#{'property':'sortIndex','jdbcType':'INTEGER','javaType':'number'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -37,7 +37,7 @@
         <bind name="$tableName" value="'s_modules'"/>
     </sql>
 
-    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -54,7 +54,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ModuleResultMap">
-        select * from s_modules WHERE u_id=#{u_id}
+        select * from s_modules WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ModuleResultMap">

+ 9 - 9
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/resource/ResourcesMapper.xml

@@ -5,28 +5,28 @@
 
 <mapper namespace="org.hsweb.web.dao.resource.ResourcesMapper">
     <resultMap id="ResourcesResultMap" type="Resources" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR" />
         <result property="path" column="path" javaType="String" jdbcType="VARCHAR" />
-        <result property="creator_id" column="creator_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="creatorId" column="creator_id" javaType="String" jdbcType="VARCHAR" />
         <result property="md5" column="md5" javaType="String" jdbcType="VARCHAR" />
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR" />
         <result property="status" column="status" javaType="int" jdbcType="INTEGER" />
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP" />
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP" />
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'path':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'creator_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'creator_id':#{'property':'creatorId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'md5':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -35,13 +35,13 @@
         <bind name="$tableName" value="'s_resources'"/>
     </sql>
 
-    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="u_id">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Resources" >
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
         delete from s_resources where u_id=#{term.primaryKey}
     </delete>
 
@@ -52,7 +52,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="ResourcesResultMap">
-        select * from s_resources WHERE u_id=#{u_id}
+        select * from s_resources WHERE u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ResourcesResultMap">

+ 4 - 4
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/RoleMapper.xml

@@ -4,7 +4,7 @@
         "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="org.hsweb.web.dao.role.RoleMapper">
     <resultMap id="RoleResultMap" type="Role">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR"/>
@@ -16,7 +16,7 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -29,7 +29,7 @@
         <bind name="$tableName" value="'s_role'"/>
     </sql>
 
-    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
@@ -46,7 +46,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="RoleResultMap">
-        select * from s_role where u_id=#{u_id}
+        select * from s_role where u_id=#{id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="RoleResultMap">

+ 9 - 8
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/RoleModuleMapper.xml

@@ -5,10 +5,11 @@
 
 <mapper namespace="org.hsweb.web.dao.role.RoleModuleMapper">
     <resultMap id="RoleModuleResultMap" type="RoleModule" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
-        <result property="module_id" column="module_id" javaType="String" jdbcType="VARCHAR" />
-        <result property="role_id" column="role_id" javaType="String" jdbcType="VARCHAR" />
-        <result property="o_level" column="o_level" javaType="String" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <result property="moduleId" column="module_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="roleId" column="role_id" javaType="String" jdbcType="VARCHAR" />
+        <result property="actions" column="o_level" javaType="String" jdbcType="VARCHAR"
+                typeHandler="org.hsweb.web.mybatis.handler.JsonArrayHandler" />
         <collection property="module" column="module_id" ofType="Module" select="org.hsweb.web.dao.module.ModuleMapper.selectByPk"/>
     </resultMap>
 
@@ -16,10 +17,10 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'module_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'o_level':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'module_id':#{'property':'moduleId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'property':'roleId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'actions':#{'jdbcType':'VARCHAR','javaType':'list'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>

+ 6 - 6
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/role/UserRoleMapper.xml

@@ -5,9 +5,9 @@
 
 <mapper namespace="org.hsweb.web.dao.role.UserRoleMapper">
     <resultMap id="UserRoleResultMap" type="UserRole">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="user_id" column="user_id" javaType="String" jdbcType="VARCHAR"/>
-        <result property="role_id" column="role_id" javaType="String" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <result property="userId" column="user_id" javaType="String" jdbcType="VARCHAR"/>
+        <result property="roleId" column="role_id" javaType="String" jdbcType="VARCHAR"/>
         <collection property="role" column="role_id" jdbcType="VARCHAR" ofType="Role"
                     select="org.hsweb.web.dao.role.RoleMapper.selectByPk"></collection>
     </resultMap>
@@ -16,9 +16,9 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'user_id':#{'jdbcType':'VARCHAR','javaType':'string'}
-                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'user_id':#{'property':'userId','jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'property':'roleId','jdbcType':'VARCHAR','javaType':'string'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>

+ 7 - 6
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/script/DynamicScriptMapper.xml

@@ -5,7 +5,7 @@
 
 <mapper namespace="org.hsweb.web.dao.script.DynamicScriptMapper">
     <resultMap id="DynamicScriptResultMap" type="DynamicScript" >
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR" />
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR" />
         <result property="type" column="type" javaType="String" jdbcType="VARCHAR" />
         <result property="content" column="content" javaType="String" jdbcType="VARCHAR" />
@@ -18,7 +18,7 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
@@ -32,7 +32,7 @@
 
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_SCRIPT'"/>
+        <bind name="$tableName" value="'s_script'"/>
     </sql>
 
     <insert id="insert" parameterType="DynamicScript" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
@@ -41,10 +41,11 @@
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="UserRole">
-        delete from s_user_role where u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_script where u_id=#{term.primaryKey}
     </delete>
 
+
     <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
@@ -52,7 +53,7 @@
     </update>
 
     <select id="selectByPk" parameterType="string" resultMap="DynamicScriptResultMap">
-        SELECT * FROM S_SCRIPT WHERE u_id=#{u_id}
+        select * from s_script where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="DynamicScriptResultMap">

+ 10 - 10
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/user/UserMapper.xml

@@ -5,15 +5,15 @@
 
 <mapper namespace="org.hsweb.web.dao.user.UserMapper">
     <resultMap id="UserResultMap" type="User">
-        <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
+        <id property="uId" column="u_id" javaType="string" jdbcType="VARCHAR"/>
         <result property="username" column="username" javaType="String" jdbcType="VARCHAR"/>
         <result property="password" column="password" javaType="String" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
         <result property="email" column="email" javaType="String" jdbcType="VARCHAR"/>
         <result property="phone" column="phone" javaType="String" jdbcType="VARCHAR"/>
         <result property="status" column="status" javaType="int" jdbcType="INTEGER"/>
-        <result property="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
-        <result property="update_date" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="createDate" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
+        <result property="updateDate" column="update_date" javaType="java.util.Date" jdbcType="TIMESTAMP"/>
         <collection property="userRoles" column="u_id" ofType="UserRole"
                     select="org.hsweb.web.dao.role.UserRoleMapper.selectByUserId"/>
     </resultMap>
@@ -21,15 +21,15 @@
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
               value="#{
-                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    'u_id':#{'property':'uId','jdbcType':'VARCHAR','javaType':'string'}
                     ,'username':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'password':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'email':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'phone':#{'jdbcType':'VARCHAR','javaType':'string'}
                     ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
-                    ,'create_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
-                    ,'update_date':#{'jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'create_date':#{'property':'createDate','jdbcType':'TIMESTAMP','javaType':'date'}
+                    ,'update_date':#{'property':'updateDate','jdbcType':'TIMESTAMP','javaType':'date'}
                     }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
@@ -38,18 +38,18 @@
         <bind name="$tableName" value="'s_user'"/>
     </sql>
 
-    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="data.uId" keyColumn="U_ID">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
         <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="UserRole">
-        delete from s_user where u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_user where u_id=#{term.primaryKey}
     </delete>
 
     <update id="updatePassword" parameterType="User">
-        update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{u_id}
+        update s_user set password=#{password,jdbcType=VARCHAR} where u_id = #{uId}
     </update>
 
     <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">

+ 12 - 0
hsweb-web-dao-interface/src/main/java/org/hsweb/web/dao/classified/ClassifiedMapper.java

@@ -0,0 +1,12 @@
+package org.hsweb.web.dao.classified;
+
+import org.hsweb.web.dao.GenericMapper;
+import org.hsweb.web.bean.po.classified.Classified;
+
+/**
+* 数据映射接口
+* Created by hsweb-generator 2016-5-14 10:18:41
+*/
+public interface ClassifiedMapper extends GenericMapper<Classified,String> {
+
+}

+ 3 - 3
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/AbstractServiceImpl.java

@@ -46,9 +46,9 @@ public abstract class AbstractServiceImpl<Po, PK> implements GenericService<Po,
     public PK insert(Po data) throws Exception {
         PK primaryKey = null;
         if (data instanceof GenericPo) {
-            if (((GenericPo) data).getU_id() == null)
-                ((GenericPo) data).setU_id(RandomUtil.randomChar());
-            primaryKey = (PK) ((GenericPo) data).getU_id();
+            if (((GenericPo) data).getUId() == null)
+                ((GenericPo) data).setUId(RandomUtil.randomChar());
+            primaryKey = (PK) ((GenericPo) data).getUId();
         }
         tryValidPo(data);
         getMapper().insert(new InsertParam<>(data));

+ 27 - 0
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/classified/ClassifiedServiceImpl.java

@@ -0,0 +1,27 @@
+package org.hsweb.web.service.impl.classified;
+
+import org.hsweb.web.bean.po.classified.Classified;
+import org.hsweb.web.dao.classified.ClassifiedMapper;
+import org.hsweb.web.service.classified.ClassifiedService;
+import org.hsweb.web.service.impl.AbstractServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+
+/**
+ * 数据分类服务类
+ * Created by generator
+ */
+@Service("classifiedService")
+public class ClassifiedServiceImpl extends AbstractServiceImpl<Classified, String> implements ClassifiedService {
+
+    //默认数据映射接口
+    @Resource
+    protected ClassifiedMapper classifiedMapper;
+
+    @Override
+    protected ClassifiedMapper getMapper() {
+        return this.classifiedMapper;
+    }
+
+}

+ 1 - 1
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/config/ConfigServiceImpl.java

@@ -169,7 +169,7 @@ public class ConfigServiceImpl extends AbstractServiceImpl<Config, String> imple
 
     @Override
     public String insert(Config data) throws Exception {
-        Config old = this.selectByPk(data.getU_id());
+        Config old = this.selectByPk(data.getUId());
         Assert.isNull(old, "配置已存在,请勿重复添加!");
         return super.insert(data);
     }

+ 1 - 1
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/DefaultFormParser.java

@@ -27,7 +27,7 @@ public class DefaultFormParser implements FormParser {
         String meta = form.getMeta();
         TableMetaData metaData = new TableMetaData();
         metaData.setName(form.getName());
-        metaData.setLocation(form.getU_id());
+        metaData.setLocation(form.getUId());
         metaData.setComment(form.getRemark());
         JSONObject object = JSON.parseObject(meta);
         object.forEach((id, field) -> {

+ 1 - 1
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/DynamicFormServiceImpl.java

@@ -106,7 +106,7 @@ public class DynamicFormServiceImpl implements DynamicFormService {
                 dataBase.updateTable(metaData);
             }
         } else {
-            Form lastDeploy = JSON.parseObject(history.getChange_after(), Form.class);
+            Form lastDeploy = JSON.parseObject(history.getChangeAfter(), Form.class);
             TableMetaData lastDeployMetaData = formParser.parse(lastDeploy);
             initDefaultField(lastDeployMetaData);
             //向上发布

+ 21 - 21
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/form/FormServiceImpl.java

@@ -62,37 +62,37 @@ public class FormServiceImpl extends AbstractServiceImpl<Form, String> implement
     public String createNewVersion(String oldVersionId) throws Exception {
         Form old = this.selectByPk(oldVersionId);
         Assert.notNull(old, "表单不存在!");
-        old.setU_id(RandomUtil.randomChar());
+        old.setUId(RandomUtil.randomChar());
         old.setVersion(old.getVersion() + 1);
-        old.setCreate_date(new Date());
-        old.setUpdate_date(null);
+        old.setCreateDate(new Date());
+        old.setUpdateDate(null);
         old.setRevision(1);
         old.setRelease(0);
         old.setUsing(false);
         getMapper().insert(new InsertParam<>(old));
-        return old.getU_id();
+        return old.getUId();
     }
 
     @Override
     public String insert(Form data) throws Exception {
         List<Form> old = this.select(new QueryParam().where("name", data.getName()));
         Assert.isTrue(old.isEmpty(), "表单 [" + data.getName() + "] 已存在!");
-        data.setCreate_date(new Date());
+        data.setCreateDate(new Date());
         data.setVersion(1);
-        if (StringUtils.isNullOrEmpty(data.getU_id()))
-            data.setU_id(RandomUtil.randomChar());
+        if (StringUtils.isNullOrEmpty(data.getUId()))
+            data.setUId(RandomUtil.randomChar());
         super.insert(data);
-        return data.getU_id();
+        return data.getUId();
     }
 
     @Override
-    @CacheEvict(value = {CACHE_KEY}, key = "'form.'+#data.u_id")
+    @CacheEvict(value = {CACHE_KEY}, key = "'form.'+#data.uId")
     public int update(Form data) throws Exception {
-        Form old = this.selectByPk(data.getU_id());
+        Form old = this.selectByPk(data.getUId());
         Assert.notNull(old, "表单不存在!");
-        data.setUpdate_date(new Date());
+        data.setUpdateDate(new Date());
         data.setRevision(old.getRevision() + 1);
-        UpdateParam<Form> param = new UpdateParam<>(data).excludes("create_date", "release", "version", "using");
+        UpdateParam<Form> param = new UpdateParam<>(data).excludes("createDate", "release", "version", "using");
         return getMapper().update(param);
     }
 
@@ -147,19 +147,19 @@ public class FormServiceImpl extends AbstractServiceImpl<Form, String> implement
         //先卸载正在使用的表单
         Form using = getMapper().selectUsing(old.getName());
         if (using != null) {
-            this.unDeploy(using.getU_id());
+            this.unDeploy(using.getUId());
         }
         //开始发布
         old.setUsing(true);
         dynamicFormService.deploy(old);
         old.setRelease(old.getRevision());//发布修订版本
-        getMapper().update(new UpdateParam<>(old).includes("using", "release").where("u_id", old.getU_id()));
+        getMapper().update(new UpdateParam<>(old).includes("using", "release").where("uId", old.getUId()));
         //加入发布历史记录
-        History history = History.newInstace("form.deploy." + old.getName());
-        history.setPrimary_key_name("u_id");
-        history.setPrimary_key_value(old.getU_id());
-        history.setChange_before("{}");
-        history.setChange_after(JSON.toJSONString(old));
+        History history = History.newInstance("form.deploy." + old.getName());
+        history.setPrimaryKeyName("uId");
+        history.setPrimaryKeyValue(old.getUId());
+        history.setChangeBefore("{}");
+        history.setChangeAfter(JSON.toJSONString(old));
         historyService.insert(history);
     }
 
@@ -171,7 +171,7 @@ public class FormServiceImpl extends AbstractServiceImpl<Form, String> implement
         dynamicFormService.unDeploy(old);
         old.setUsing(false);
         UpdateParam param = new UpdateParam<>(old);
-        param.includes("using").where("u_id", old.getU_id());
+        param.includes("using").where("uId", old.getUId());
         getMapper().update(param);
     }
 
@@ -180,7 +180,7 @@ public class FormServiceImpl extends AbstractServiceImpl<Form, String> implement
     public String createDeployHtml(String name) throws Exception {
         History history = historyService.selectLastHistoryByType("form.deploy." + name);
         Assert.notNull(history, "表单不存在");
-        return formParser.parseHtml(JSON.parseObject(history.getChange_after(), Form.class));
+        return formParser.parseHtml(JSON.parseObject(history.getChangeAfter(), Form.class));
     }
 
     @Override

+ 1 - 1
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/history/HistoryServiceImpl.java

@@ -28,7 +28,7 @@ public class HistoryServiceImpl extends AbstractServiceImpl<History, String> imp
         QueryParam queryParam = new QueryParam()
                 .where("type", type)
                 .doPaging(0, 1)
-                .orderBy("create_date").desc();
+                .orderBy("createDate").desc();
         List<History> history = historyMapper.select(queryParam);
         if (history.size() == 1) return history.get(0);
         return null;

+ 4 - 4
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/module/ModuleServiceImpl.java

@@ -32,10 +32,10 @@ public class ModuleServiceImpl extends AbstractServiceImpl<Module, String> imple
         int size = 0;
         for (Module module : datas) {
             tryValidPo(module);
-            boolean doUpdate = (this.selectByPk(module.getOld_id()) != null);
-            if (!module.getU_id().equals(module.getOld_id())) {
-                if (doUpdate && this.selectByPk(module.getU_id()) != null) {
-                    throw new BusinessException(String.format("标识:%s已存在", module.getU_id()));
+            boolean doUpdate = (this.selectByPk(module.getOldId()) != null);
+            if (!module.getUId().equals(module.getOldId())) {
+                if (doUpdate && this.selectByPk(module.getUId()) != null) {
+                    throw new BusinessException(String.format("标识:%s已存在", module.getUId()));
                 }
             }
             if (doUpdate) {

+ 30 - 5
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/resource/FileServiceImpl.java

@@ -7,6 +7,7 @@ package org.hsweb.web.service.impl.resource;
 import org.apache.commons.codec.digest.DigestUtils;
 import org.hsweb.web.bean.po.resource.Resources;
 import org.hsweb.web.bean.po.user.User;
+import org.hsweb.web.core.exception.NotFoundException;
 import org.hsweb.web.service.config.ConfigService;
 import org.hsweb.web.service.resource.FileService;
 import org.hsweb.web.service.resource.ResourcesService;
@@ -28,10 +29,34 @@ public class FileServiceImpl implements FileService {
     @Resource
     protected ResourcesService resourcesService;
 
+    protected String getFileBasePath() {
+        return configService.get("upload", "basePath", "./upload").trim();
+    }
+
+    @Override
+    public InputStream readResources(Resources resources) throws Exception {
+        String fileBasePath = getFileBasePath();
+        File file = new File(fileBasePath.concat(resources.getPath().concat("/".concat(resources.getMd5()))));
+        if (!file.canRead()) {
+            throw new NotFoundException("文件不存在");
+        }
+        return new FileInputStream(file);
+    }
+
+    @Override
+    public void writeResources(Resources resources, OutputStream outputStream) throws Exception {
+        try(InputStream inputStream=readResources(resources)){
+            byte b[] = new byte[2048 * 10];
+            while ((inputStream.read(b)) != -1) {
+                outputStream.write(b);
+            }
+        }
+    }
+
     @Transactional(rollbackFor = Throwable.class)
     public Resources saveFile(InputStream is, String fileName) throws Exception {
         //配置中的文件上传根路径
-        String fileBasePath = configService.get("upload", "basePath", "/upload").trim();
+        String fileBasePath = getFileBasePath();
         //文件存储的相对路径,以日期分隔,每天创建一个新的目录
         String filePath = "/file/".concat(DateTimeUtils.format(new Date(), DateTimeUtils.YEAR_MONTH_DAY));
         //文件存储绝对路径
@@ -70,18 +95,18 @@ public class FileServiceImpl implements FileService {
         resources.setStatus(1);
         resources.setPath(filePath);
         resources.setMd5(md5);
-        resources.setCreate_date(new Date());
+        resources.setCreateDate(new Date());
         resources.setType("file");
         resources.setName(fileName);
         try {
             User user = WebUtil.getLoginUser();
             if (user != null) {
-                resources.setCreator_id(user.getU_id());
+                resources.setCreatorId(user.getUId());
             } else {
-                resources.setCreator_id("-1");
+                resources.setCreatorId("1");
             }
         } catch (Exception e) {
-            resources.setCreator_id("-1");
+            resources.setCreatorId("1");
         }
 
         resourcesService.insert(resources);

+ 3 - 8
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/resource/ResourcesServiceImpl.java

@@ -2,17 +2,16 @@ package org.hsweb.web.service.impl.resource;
 
 import org.hsweb.web.bean.common.QueryParam;
 import org.hsweb.web.bean.po.resource.Resources;
+import org.hsweb.web.core.utils.RandomUtil;
 import org.hsweb.web.dao.resource.ResourcesMapper;
 import org.hsweb.web.service.config.ConfigService;
 import org.hsweb.web.service.impl.AbstractServiceImpl;
 import org.hsweb.web.service.resource.ResourcesService;
-import org.hsweb.web.core.utils.RandomUtil;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
-import java.util.List;
 
 /**
  * 资源服务类
@@ -50,17 +49,13 @@ public class ResourcesServiceImpl extends AbstractServiceImpl<Resources, String>
     @Cacheable(value = CACHE_KEY, key = "'md5.'+#md5")
     @Transactional(readOnly = true)
     public Resources selectByMd5(String md5) throws Exception {
-        List<Resources> resources = this.select(new QueryParam().where("md5", md5));
-        if (resources != null && resources.size() > 0)
-            return resources.get(0);
-        return null;
+        return this.selectSingle(new QueryParam().where("md5", md5));
     }
 
-
     @Override
     @Transactional(rollbackFor = Throwable.class)
     public String insert(Resources data) throws Exception {
-        data.setU_id(this.newUid(6));//6位随机id
+        data.setUId(this.newUid(6));//6位随机id
         return super.insert(data);
     }
 

+ 5 - 5
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/role/RoleServiceImpl.java

@@ -43,8 +43,8 @@ public class RoleServiceImpl extends AbstractServiceImpl<Role, String> implement
         if (roleModule != null && roleModule.size() > 0) {
             //保存角色模块关联
             for (RoleModule module : roleModule) {
-                module.setU_id(RandomUtil.randomChar(6));
-                module.setRole_id(data.getU_id());
+                module.setUId(RandomUtil.randomChar(6));
+                module.setRoleId(data.getUId());
                 roleModuleMapper.insert(new InsertParam<>(module));
             }
         }
@@ -57,11 +57,11 @@ public class RoleServiceImpl extends AbstractServiceImpl<Role, String> implement
         List<RoleModule> roleModule = data.getModules();
         if (roleModule != null && roleModule.size() > 0) {
             //先删除所有roleModule
-            roleModuleMapper.deleteByRoleId(data.getU_id());
+            roleModuleMapper.deleteByRoleId(data.getUId());
             //保存角色模块关联
             for (RoleModule module : roleModule) {
-                module.setU_id(RandomUtil.randomChar(6));
-                module.setRole_id(data.getU_id());
+                module.setUId(RandomUtil.randomChar(6));
+                module.setRoleId(data.getUId());
                 roleModuleMapper.insert(new InsertParam<>(module));
             }
         }

+ 3 - 3
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/script/DynamicScriptServiceImpl.java

@@ -39,7 +39,7 @@ public class DynamicScriptServiceImpl extends AbstractServiceImpl<DynamicScript,
     }
 
     @Override
-    @CacheEvict(value = CACHE_KEY, key = "'script.'+#data.u_id")
+    @CacheEvict(value = CACHE_KEY, key = "'script.'+#data.uId")
     public int update(DynamicScript data) throws Exception {
         int i = super.update(data);
         return i;
@@ -64,7 +64,7 @@ public class DynamicScriptServiceImpl extends AbstractServiceImpl<DynamicScript,
         DynamicScriptEngine engine = DynamicScriptEngineFactory.getEngine(script.getType());
         try {
             if(engine==null)throw new BusinessException("不支持的脚本语言:"+script.getType());
-            engine.compile(script.getU_id(), script.getContent());
+            engine.compile(script.getUId(), script.getContent());
         } catch (Exception e) {
             logger.error("compile error!", e);
         }
@@ -75,7 +75,7 @@ public class DynamicScriptServiceImpl extends AbstractServiceImpl<DynamicScript,
         for (DynamicScript script : list) {
             DynamicScriptEngine engine = DynamicScriptEngineFactory.getEngine(script.getType());
             if(engine==null)throw new BusinessException("不支持的脚本语言:"+script.getType());
-            engine.compile(script.getU_id(), script.getContent());
+            engine.compile(script.getUId(), script.getContent());
         }
     }
 

+ 15 - 15
hsweb-web-service-impl-common/src/main/java/org/hsweb/web/service/impl/user/UserServiceImpl.java

@@ -51,18 +51,18 @@ public class UserServiceImpl extends AbstractServiceImpl<User, String> implement
     public String insert(User data) throws Exception {
         tryValidPo(data);
         Assert.isNull(selectByUserName(data.getUsername()), "用户已存在!");
-        data.setU_id(RandomUtil.randomChar(6));
-        data.setCreate_date(new Date());
-        data.setUpdate_date(new Date());
+        data.setUId(RandomUtil.randomChar(6));
+        data.setCreateDate(new Date());
+        data.setUpdateDate(new Date());
         data.setPassword(MD5.encode(data.getPassword()));
         data.setStatus(1);
         userMapper.insert(new InsertParam<>(data));
-        String id = data.getU_id();
+        String id = data.getUId();
         //添加角色关联
         if (data.getUserRoles().size() != 0) {
             for (UserRole userRole : data.getUserRoles()) {
-                userRole.setU_id(RandomUtil.randomChar());
-                userRole.setUser_id(data.getU_id());
+                userRole.setUId(RandomUtil.randomChar());
+                userRole.setUserId(data.getUId());
                 userRoleMapper.insert(new InsertParam<>(userRole));
             }
         }
@@ -73,21 +73,21 @@ public class UserServiceImpl extends AbstractServiceImpl<User, String> implement
     public int update(User data) throws Exception {
         tryValidPo(data);
         User old = this.selectByUserName(data.getUsername());
-        if (old != null && !old.getU_id().equals(data.getU_id())) {
+        if (old != null && !old.getUId().equals(data.getUId())) {
             throw new BusinessException("用户名已存在!");
         }
-        data.setUpdate_date(new Date());
+        data.setUpdateDate(new Date());
         if (!"$default".equals(data.getPassword())) {
             data.setPassword(MD5.encode(data.getPassword()));
             userMapper.updatePassword(data);
         }
-        int i = userMapper.update(new UpdateParam<>(data).excludes("status","password","create_date"));
+        int i = userMapper.update(new UpdateParam<>(data).excludes("status","password","createDate"));
         if (data.getUserRoles().size() != 0) {
             //删除所有
-            userRoleMapper.deleteByUserId(data.getU_id());
+            userRoleMapper.deleteByUserId(data.getUId());
             for (UserRole userRole : data.getUserRoles()) {
-                userRole.setU_id(RandomUtil.randomChar());
-                userRole.setUser_id(data.getU_id());
+                userRole.setUId(RandomUtil.randomChar());
+                userRole.setUserId(data.getUId());
                 userRoleMapper.insert(new InsertParam<>(userRole));
             }
         }
@@ -101,7 +101,7 @@ public class UserServiceImpl extends AbstractServiceImpl<User, String> implement
         List<Module> modules = moduleService.select(queryParam);
         Map<Module, Set<String>> roleInfo = new LinkedHashMap<>();
         for (Module module : modules) {
-            roleInfo.put(module, new LinkedHashSet<>(module.getM_optionMap().keySet()));
+            roleInfo.put(module, new LinkedHashSet<>(module.getMOptionMap().keySet()));
         }
         user.setRoleInfo(roleInfo);
     }
@@ -118,7 +118,7 @@ public class UserServiceImpl extends AbstractServiceImpl<User, String> implement
         User user = selectByPk(id);
         if (user == null) throw new NotFoundException("用户不存在!");
         user.setStatus(1);
-        getMapper().update(new UpdateParam<>(user).includes("status").where("u_id", id));
+        getMapper().update(new UpdateParam<>(user).includes("status").where("uId", id));
     }
 
     @Override
@@ -126,7 +126,7 @@ public class UserServiceImpl extends AbstractServiceImpl<User, String> implement
         User user = selectByPk(id);
         if (user == null) throw new NotFoundException("用户不存在!");
         user.setStatus(-1);
-        getMapper().update(new UpdateParam<>(user).includes("status").where("u_id", id));
+        getMapper().update(new UpdateParam<>(user).includes("status").where("uId", id));
     }
 
     @Override

+ 12 - 11
hsweb-web-service-impl-common/src/test/java/org/hsweb/web/service/impl/form/FormServiceImplTest.java

@@ -3,6 +3,7 @@ package org.hsweb.web.service.impl.form;
 import org.hsweb.web.core.authorize.ExpressionScopeBean;
 import org.hsweb.web.bean.po.form.Form;
 import org.hsweb.web.core.exception.BusinessException;
+import org.hsweb.web.service.form.DynamicFormService;
 import org.hsweb.web.service.form.FormService;
 import org.hsweb.web.service.impl.AbstractTestCase;
 import org.hsweb.web.core.utils.RandomUtil;
@@ -31,7 +32,8 @@ public class FormServiceImplTest extends AbstractTestCase {
 
     @Resource
     protected FormService formService;
-
+    @Resource
+    private DynamicFormService dynamicFormService;
     @Resource
     protected DataBase dataBase;
 
@@ -85,20 +87,19 @@ public class FormServiceImplTest extends AbstractTestCase {
     public void setup() throws Exception {
         form = new Form();
         form.setName("test_form");
-        form.setCreate_date(new Date());
-        form.setHtml("<input field-id='id1'/><input field-id='id2'/>");
+        form.setCreateDate(new Date());
+        form.setHtml("<input fieldId='id1'/><input fieldId='id2'/>");
         form.setMeta(meta[0]);
-        form.setU_id(RandomUtil.randomChar());
+        form.setUId(RandomUtil.randomChar());
         formService.insert(form);
     }
 
     @Test
     public void testDeploy() throws Exception {
-        //部署
-        formService.deploy(form.getU_id());
-            dataBase.getTable("test_form").createInsert()
-                    .insert(new InsertParam().value("u_id", "test").value("name","张三"));
-        dataBase.getTable("test_form").createUpdate().update(new UpdateParam().set("u_id","test2").where("u_id","test"));
+        formService.deploy(form.getUId());
+        dataBase.getTable("test_form").createInsert()
+                .insert(new InsertParam().value("u_id", "test").value("name", "张三"));
+        dataBase.getTable("test_form").createUpdate().update(new UpdateParam().set("u_id", "test2").where("u_id", "test"));
 
         Map<String, Object> data = dataBase.getTable("test_form")
                 .createQuery().single(new QueryParam().where("name$LIKE", "张三"));
@@ -106,12 +107,12 @@ public class FormServiceImplTest extends AbstractTestCase {
         Assert.assertEquals("张三", data.get("name"));
         Assert.assertEquals("test2", data.get("u_id"));
         formService.createDeployHtml(form.getName());
-        formService.deploy(form.getU_id());
+        formService.deploy(form.getUId());
         formService.createDeployHtml(form.getName());
 
         form.setMeta(meta[1]);
         formService.update(form);
-        formService.deploy(form.getU_id());
+        formService.deploy(form.getUId());
     }
 
 

+ 10 - 3
hsweb-web-service-impl-common/src/test/java/org/hsweb/web/service/impl/system/DataBaseManagerServiceImplTest.java

@@ -1,8 +1,11 @@
 package org.hsweb.web.service.impl.system;
 
+import org.hsweb.web.bean.common.InsertParam;
 import org.hsweb.web.bean.common.QueryParam;
 import org.hsweb.web.bean.common.Term;
+import org.hsweb.web.bean.common.UpdateParam;
 import org.hsweb.web.bean.po.module.Module;
+import org.hsweb.web.bean.po.user.User;
 import org.hsweb.web.dao.user.UserMapper;
 import org.hsweb.web.service.impl.AbstractTestCase;
 import org.hsweb.web.service.module.ModuleMetaService;
@@ -38,7 +41,7 @@ public class DataBaseManagerServiceImplTest extends AbstractTestCase {
     public void test() throws Exception {
         QueryParam queryParam = new QueryParam();
         Term term = queryParam.select("username", "password")
-                .where("create_date$GT", "2015-12-10")
+                .where("createDate$GT", "2015-12-10")
                 .nest();
         term = term.nest("username", "admin").or("username", "test").nest();
         term = term.nest();
@@ -46,13 +49,17 @@ public class DataBaseManagerServiceImplTest extends AbstractTestCase {
         term.nest("status$IN", "2,3,4").and("status$LT", "1");
         term.and("username$EMPTY", true);
         queryParam.orderBy("create_date").desc();
-        System.out.println(queryParam);
+        queryParam.orderBy("status").asc();
         userMapper.select(queryParam);
+        User user = userMapper.selectByPk("admin");
+        user.setUId("aaaa");
+        userMapper.insert(new InsertParam<>(user));
+        userMapper.update(new UpdateParam<>(user).includes("username"));
     }
 
     @Test
     public void testGetFieldList() throws Exception {
-        moduleMetaService.selectByKeyAndRoleId("test","userRole");
+        moduleMetaService.selectByKeyAndRoleId("test", "userRole");
 
     }
 

+ 13 - 0
hsweb-web-service-interface/src/main/java/org/hsweb/web/service/classified/ClassifiedService.java

@@ -0,0 +1,13 @@
+package org.hsweb.web.service.classified;
+
+import org.hsweb.web.bean.po.classified.Classified;
+import org.hsweb.web.service.GenericService;
+
+/**
+* 服务类
+* Created by generator 
+*/
+public interface ClassifiedService extends GenericService<Classified,String> {
+
+
+}

+ 4 - 0
hsweb-web-service-interface/src/main/java/org/hsweb/web/service/resource/FileService.java

@@ -3,6 +3,7 @@ package org.hsweb.web.service.resource;
 import org.hsweb.web.bean.po.resource.Resources;
 
 import java.io.InputStream;
+import java.io.OutputStream;
 
 /**
  * 文件服务接口,用于对服务器文件进行操作
@@ -19,5 +20,8 @@ public interface FileService {
      */
     Resources saveFile(InputStream is, String fileName) throws Exception;
 
+    InputStream readResources(Resources resources) throws Exception;
+
+    void writeResources(Resources resources, OutputStream outputStream) throws Exception;
 
 }