Parcourir la source

所有mapper更新,使用新的方式,支持update动态条件。insert,和update 动态生成sql。

周浩 il y a 9 ans
Parent
commit
ad3cecddbc

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

@@ -4,70 +4,62 @@
         "http://www.mybatis.org/dtd/mybatis-3-mapper.dtd">
 
 <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" />
-        <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" />
+    <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"/>
+        <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"/>
     </resultMap>
 
     <!--字段信息配置-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
-              value="#{'u_id':'string','remark':'string','content':'string'
-                    ,'create_date':'date','update_date':'date'}"/>
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'update_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    }"/>
+
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_CONFIG'"/>
+        <bind name="$tableName" value="'s_config'"/>
     </sql>
 
-    <insert id="insert" parameterType="Config" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_CONFIG
-        (u_id,remark,content,create_date,update_date)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{create_date,jdbcType=TIMESTAMP},#{update_date,jdbcType=TIMESTAMP})
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Config" >
-        DELETE FROM S_CONFIG WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_config where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="Config" >
-        UPDATE S_CONFIG
-        <set>
-            <if test="remark != null">
-                remark=#{remark,jdbcType=VARCHAR},
-            </if>
-            <if test="content != null">
-                content=#{content,jdbcType=VARCHAR},
-            </if>
-            <if test="create_date != null">
-                create_date=#{create_date,jdbcType=TIMESTAMP},
-            </if>
-            <if test="update_date != null">
-                update_date=#{update_date,jdbcType=TIMESTAMP},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <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="ConfigResultMap">
-        SELECT * FROM S_CONFIG WHERE u_id=#{u_id}
+        select * from s_config where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ConfigResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,86 +6,101 @@
 <mapper namespace="org.hsweb.web.dao.form.FormMapper">
     <resultMap id="FormResultMap" type="Form">
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" column="u_id" javaType="String" jdbcType="VARCHAR"/>
         <result property="name" column="name" javaType="String" jdbcType="VARCHAR"/>
-        <result property="content" column="content" javaType="String" jdbcType="VARCHAR"/>
-        <result property="table_name" column="table_name" javaType="String" jdbcType="VARCHAR"/>
-        <result property="foreigns" column="foreigns" javaType="String" jdbcType="VARCHAR"/>
+        <result property="html" column="html" javaType="String" jdbcType="VARCHAR"/>
+        <result property="meta" column="meta" javaType="String" jdbcType="VARCHAR"/>
+        <result property="config" column="config" javaType="String" jdbcType="VARCHAR"/>
         <result property="remark" column="remark" javaType="String" jdbcType="VARCHAR"/>
-        <result property="auto_alter" column="auto_alter" javaType="boolean" jdbcType="INTEGER"/>
+        <result property="version" column="version" 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="db_name" column="db_name" javaType="String" jdbcType="VARCHAR"/>
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType"
-              value="#{'u_id':'string','name':'string','content':'string','table_name':'string'
-                        ,'foreigns':'string','remark':'string','auto_alter':'string','create_date':'string'
-                       ,'update_date':'string','db_name':'string'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'html':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'meta':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'config':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'version':#{'jdbcType':'INTEGER','javaType':'number'}
+                    ,'using':#{'jdbcType':'INTEGER','javaType':'boolean'}
+                    ,'create_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    ,'update_date':#{'jdbcType':'VARCHAR','javaType':'date'}
+                    }"/>
+
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
+
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_FORM'"/>
+        <bind name="$tableName" value="'s_form'"/>
     </sql>
 
-    <insert id="insert" parameterType="Form" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_FORM
-        (u_id,name,content,table_name,foreigns,remark,auto_alter,create_date,update_date,db_name)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{table_name,jdbcType=VARCHAR},#{foreigns,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{auto_alter,jdbcType=INTEGER},#{create_date,jdbcType=TIMESTAMP},#{update_date,jdbcType=TIMESTAMP},#{db_name,jdbcType=VARCHAR})
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Form">
-        DELETE FROM S_FORM WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_form where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="Form">
-        UPDATE S_FORM
-        <set>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="content != null">
-                content=#{content,jdbcType=VARCHAR},
-            </if>
-            <if test="table_name != null">
-                table_name=#{table_name,jdbcType=VARCHAR},
-            </if>
-            <if test="foreigns != null">
-                foreigns=#{foreigns,jdbcType=VARCHAR},
-            </if>
-            <if test="remark != null">
-                remark=#{remark,jdbcType=VARCHAR},
-            </if>
-            <if test="auto_alter != null">
-                auto_alter=#{auto_alter,jdbcType=INTEGER},
-            </if>
-            <if test="update_date != null">
-                update_date=#{update_date,jdbcType=TIMESTAMP},
-            </if>
-            <if test="db_name != null">
-                db_name=#{db_name,jdbcType=VARCHAR},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <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="FormResultMap">
-        SELECT * FROM S_FORM WHERE u_id=#{u_id}
+        select * from s_form WHERE u_id=#{u_id}
+    </select>
+
+    <select id="selectUsing" parameterType="string" resultMap="FormResultMap">
+        select * from s_form WHERE using=1 and name=#{name}
+    </select>
+
+    <select id="selectLatestList" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="FormResultMap">
+        <include refid="fieldConfig"/><!--定义字段配置-->
+        <bind name="$tableName" value="'t2'"/><!--定义表名-->
+        select
+        <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"/> <!--动态查询条件-->
+        </where>
+        group by name ) t1
+        left join s_form t2 on t1.name=t2.name and t1.version =t2.version
+    </select>
+
+    <select id="countLatestList" parameterType="org.hsweb.web.bean.common.QueryParam" resultType="int">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        select count(0) as total from (
+        select s_form.name,max(s_form.version) as version from s_form s_form
+        <where>
+            <include refid="BasicMapper.buildWhere"/>
+        </where>
+        group by name) t1
+        left join s_form t2 on t1.name=t2.name and t1.version =t2.version
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="FormResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,7 +6,6 @@
 <mapper namespace="org.hsweb.web.dao.module.ModuleMapper">
     <resultMap id="ModuleResultMap" type="Module">
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" 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"/>
@@ -19,71 +18,54 @@
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType"
-              value="#{'u_id':'string','name':'string','uri':'string','icon':'string','p_id':'string','sort_index':'number','m_option':'string','remark':'string','type':'string','status':'number'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'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'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'status':#{'jdbcType':'INTEGER','javaType':'number'}
+                    ,'m_option':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'sort_index':#{'jdbcType':'INTEGER','javaType':'number'}
+                    }"/>
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
     <!--表名-->
     <sql id="tableName">
         <bind name="$tableName" value="'S_MODULES'"/>
     </sql>
 
-    <insert id="insert" parameterType="Module" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_MODULES
-        (u_id,name,uri,icon,p_id,remark,status,m_option,sort_index)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{uri,jdbcType=VARCHAR},#{icon,jdbcType=VARCHAR},#{p_id,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{status,jdbcType=INTEGER},#{m_option,jdbcType=VARCHAR},#{sort_index,jdbcType=INTEGER})
+    <insert id="insert" parameterType="org.hsweb.web.bean.common.InsertParam" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Module">
-        DELETE FROM S_MODULES WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_modules where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="Module">
-        UPDATE S_MODULES
-        <set>
-            <if test="u_id != null">
-                u_id=#{u_id,jdbcType=VARCHAR},
-            </if>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="uri != null">
-                uri=#{uri,jdbcType=VARCHAR},
-            </if>
-            <if test="icon != null">
-                icon=#{icon,jdbcType=VARCHAR},
-            </if>
-            <if test="p_id != null">
-                p_id=#{p_id,jdbcType=VARCHAR},
-            </if>
-            <if test="remark != null">
-                remark=#{remark,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status=#{status,jdbcType=INTEGER},
-            </if>
-            <if test="m_option != null">
-                m_option=#{m_option,jdbcType=VARCHAR},
-            </if>
-            sort_index=#{sort_index,jdbcType=INTEGER}
-        </set>
-        WHERE u_id=#{old_id}
+    <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="ModuleResultMap">
-        SELECT * FROM S_MODULES WHERE u_id=#{u_id}
+        select * from s_modules WHERE u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ModuleResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,80 +6,64 @@
 <mapper namespace="org.hsweb.web.dao.resource.ResourcesMapper">
     <resultMap id="ResourcesResultMap" type="Resources" >
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
-        <result property="u_id" 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="create_date" column="create_date" javaType="java.util.Date" jdbcType="TIMESTAMP" />
         <result property="creator_id" 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" />
     </resultMap>
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType"
-              value="#{'u_id':'string','name':'string','path':'string','create_date':'date'
-                    ,'creator_id':'string','md5':'string','type':'string','status':'number'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'path':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'creator_id':#{'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'}
+                    }"/>
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_RESOURCES'"/>
+        <bind name="$tableName" value="'s_resources'"/>
     </sql>
 
-    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_RESOURCES
-        (u_id,name,path,create_date,creator_id,md5,type,status)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{path,jdbcType=VARCHAR},#{create_date,jdbcType=TIMESTAMP},#{creator_id,jdbcType=VARCHAR},#{md5,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR},#{status,jdbcType=INTEGER})
+    <insert id="insert" parameterType="Resources" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
     <delete id="delete" parameterType="Resources" >
-        DELETE FROM S_RESOURCES WHERE u_id=#{u_id}
+        delete from s_resources where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="Resources" >
-        UPDATE S_RESOURCES
-        <set>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="path != null">
-                path=#{path,jdbcType=VARCHAR},
-            </if>
-            <if test="create_date != null">
-                create_date=#{create_date,jdbcType=TIMESTAMP},
-            </if>
-            <if test="creator_id != null">
-                creator_id=#{creator_id,jdbcType=VARCHAR},
-            </if>
-            <if test="md5 != null">
-                md5=#{md5,jdbcType=VARCHAR},
-            </if>
-            <if test="type != null">
-                type=#{type,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status=#{status,jdbcType=INTEGER},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <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="ResourcesResultMap">
-        SELECT * FROM S_RESOURCES WHERE u_id=#{u_id}
+        select * from s_resources WHERE u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="ResourcesResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -5,7 +5,6 @@
 <mapper namespace="org.hsweb.web.dao.role.RoleMapper">
     <resultMap id="RoleResultMap" type="Role">
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" 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"/>
@@ -15,56 +14,50 @@
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType"
-              value="#{'u_id':'string','name':'string','remark':'string','type':'string'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    }"/>
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
 
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_ROLE'"/>
+        <bind name="$tableName" value="'s_role'"/>
     </sql>
 
-    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_ROLE
-        (u_id,name,remark,type)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR})
+    <insert id="insert" parameterType="Role" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="Role">
-        DELETE FROM S_ROLE WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_role where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="Role">
-        UPDATE S_ROLE
-        <set>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="remark != null">
-                remark=#{remark,jdbcType=VARCHAR},
-            </if>
-            <if test="type != null">
-                type=#{type,jdbcType=VARCHAR},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <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="RoleResultMap">
-        SELECT * FROM S_ROLE WHERE u_id=#{u_id}
+        select * from s_role where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="RoleResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,7 +6,6 @@
 <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="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" />
@@ -15,66 +14,62 @@
 
     <!--字段信息绑定-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType" value="#{'u_id':'string','module_id':'string','role_id':'string','o_level':'string'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'module_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'o_level':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    }"/>
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_ROLE_MODULES'"/>
+        <bind name="$tableName" value="'s_role_modules'"/>
     </sql>
 
-    <insert id="insert" parameterType="RoleModule" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_ROLE_MODULES
-        (u_id,module_id,role_id,o_level)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{module_id,jdbcType=VARCHAR},#{role_id,jdbcType=VARCHAR},#{o_level,jdbcType=VARCHAR})
+    <insert id="insert" parameterType="RoleModule" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="RoleModule" >
-        DELETE FROM S_ROLE_MODULES WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_role_modules where u_id=#{term.primaryKey}
     </delete>
 
     <delete id="deleteByRoleId" parameterType="string" >
-        DELETE FROM S_ROLE_MODULES WHERE role_id=#{role_id}
+        delete from s_role_modules where role_id=#{role_id}
     </delete>
 
     <delete id="deleteByModuleId" parameterType="string" >
-        DELETE FROM S_ROLE_MODULES WHERE module_id=#{module_id}
+        delete from s_role_modules where module_id=#{module_id}
     </delete>
 
-    <update id="update" parameterType="RoleModule" >
-        UPDATE S_ROLE_MODULES
-        <set>
-            <if test="module_id != null">
-                module_id=#{module_id,jdbcType=VARCHAR},
-            </if>
-            <if test="role_id != null">
-                role_id=#{role_id,jdbcType=VARCHAR},
-            </if>
-            <if test="o_level != null">
-                o_level=#{o_level,jdbcType=VARCHAR},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
     </update>
 
     <select id="selectByRoleId" parameterType="string" resultMap="RoleModuleResultMap">
-        SELECT * FROM S_ROLE_MODULES WHERE role_id=#{role_id}
+        select * from s_role_modules where role_id=#{role_id}
     </select>
 
     <select id="selectByPk" parameterType="string" resultMap="RoleModuleResultMap">
-        SELECT * FROM S_ROLE_MODULES WHERE u_id=#{u_id}
+        select * from s_role_modules where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="RoleModuleResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,7 +6,6 @@
 <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="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"/>
         <collection property="role" column="role_id" jdbcType="VARCHAR" ofType="Role"
@@ -15,7 +14,12 @@
 
     <!--字段信息配置-->
     <sql id="fieldConfig">
-        <bind name="$fieldsInfo" value="#{'u_id':'string','user_id':'string','role_id':'string'}"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'user_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'role_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
 
@@ -24,51 +28,39 @@
         <bind name="$tableName" value="'S_USER_ROLE'"/>
     </sql>
 
-    <insert id="insert" parameterType="UserRole" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_USER_ROLE
-        (u_id,user_id,role_id)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{user_id,jdbcType=VARCHAR},#{role_id,jdbcType=VARCHAR})
+    <insert id="insert" parameterType="UserRole" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="UserRole">
-        DELETE FROM S_USER_ROLE WHERE u_id=#{u_id}
-    </delete>
-
-    <delete id="deleteByUserId" parameterType="string">
-        DELETE FROM S_USER_ROLE WHERE user_id=#{user_id}
+    <delete id="delete" parameterType="org.hsweb.web.bean.common.DeleteParam">
+        delete from s_user_role where u_id=#{term.primaryKey}
     </delete>
 
-    <update id="update" parameterType="UserRole">
-        UPDATE S_USER_ROLE
-        <set>
-            <if test="user_id != null">
-                user_id=#{user_id,jdbcType=VARCHAR},
-            </if>
-            <if test="role_id != null">
-                role_id=#{role_id,jdbcType=VARCHAR},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
     </update>
 
     <select id="selectByUserId" parameterType="string" resultMap="UserRoleResultMap">
-        SELECT * FROM S_USER_ROLE WHERE user_id=#{user_id}
+        select * from s_user_role where user_id=#{user_id}
     </select>
 
     <select id="selectByPk" parameterType="string" resultMap="UserRoleResultMap">
-        SELECT * FROM S_USER_ROLE WHERE u_id=#{u_id}
+        select * from s_user_role where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="UserRoleResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,7 +6,6 @@
 <mapper namespace="org.hsweb.web.dao.script.DynamicScriptMapper">
     <resultMap id="DynamicScriptResultMap" type="DynamicScript" >
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR" />
-        <result property="u_id" 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" />
@@ -17,9 +16,18 @@
 
     <!--字段配置-->
     <sql id="fieldConfig">
-        <bind name="$fieldsType"
-              value="#{'u_id':'string','name':'string','type':'string','content':'string','remark':'string','path':'string','status':'number'}"/>
-        <bind name="$fields" value="$fieldsType.keySet()"/>
+        <bind name="$fieldsInfo"
+              value="#{
+                    'u_id':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'name':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'type':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'content':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'remark':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'path':#{'jdbcType':'VARCHAR','javaType':'string'}
+                    ,'status':#{'jdbcType':'INTEGER','javaType':'int'}
+                    }"/>
+
+        <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
 
     <!--表名-->
@@ -27,40 +35,20 @@
         <bind name="$tableName" value="'S_SCRIPT'"/>
     </sql>
 
-    <insert id="insert" parameterType="DynamicScript" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_SCRIPT
-        (u_id,name,type,content,remark,path,status)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{type,jdbcType=VARCHAR},#{content,jdbcType=VARCHAR},#{remark,jdbcType=VARCHAR},#{path,jdbcType=VARCHAR},#{status,jdbcType=INTEGER})
+    <insert id="insert" parameterType="DynamicScript" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="DynamicScript" >
-        DELETE FROM S_SCRIPT WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="UserRole">
+        delete from s_user_role where u_id=#{u_id}
     </delete>
 
-    <update id="update" parameterType="DynamicScript" >
-        UPDATE S_SCRIPT
-        <set>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="type != null">
-                type=#{type,jdbcType=VARCHAR},
-            </if>
-            <if test="content != null">
-                content=#{content,jdbcType=VARCHAR},
-            </if>
-            <if test="remark != null">
-                remark=#{remark,jdbcType=VARCHAR},
-            </if>
-            <if test="path != null">
-                path=#{path,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status=#{status,jdbcType=INTEGER},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <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="DynamicScriptResultMap">
@@ -70,12 +58,12 @@
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="DynamicScriptResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>

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

@@ -6,7 +6,6 @@
 <mapper namespace="org.hsweb.web.dao.user.UserMapper">
     <resultMap id="UserResultMap" type="User">
         <id property="u_id" column="u_id" javaType="string" jdbcType="VARCHAR"/>
-        <result property="u_id" 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"/>
@@ -21,70 +20,61 @@
     <!--字段信息配置-->
     <sql id="fieldConfig">
         <bind name="$fieldsInfo"
-              value="#{'u_id':'string','username':'string','name':'string'
-                    ,'email':'string','phone':'string','status':'number'
-                    ,'create_date':'date','update_date':'date'}"/>
+              value="#{
+                    'u_id':#{'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'}
+                    }"/>
         <bind name="$fields" value="$fieldsInfo.keySet()"/>
     </sql>
     <!--表名-->
     <sql id="tableName">
-        <bind name="$tableName" value="'S_USER'"/>
+        <bind name="$tableName" value="'s_user'"/>
     </sql>
 
-    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="u_id" keyColumn="U_ID">
-        INSERT INTO S_USER
-        (u_id,username,password,name,email,phone,status,create_date,update_date)
-        VALUES
-        (#{u_id,jdbcType=VARCHAR},#{username,jdbcType=VARCHAR},#{password,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR},#{email,jdbcType=VARCHAR},#{phone,jdbcType=VARCHAR},#{status,jdbcType=INTEGER},#{create_date,jdbcType=TIMESTAMP},#{update_date,jdbcType=TIMESTAMP})
+    <insert id="insert" parameterType="User" useGeneratedKeys="true" keyProperty="data.u_id" keyColumn="U_ID">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildInsertSql"/>
     </insert>
 
-    <delete id="delete" parameterType="User">
-        DELETE FROM S_USER WHERE u_id=#{u_id}
+    <delete id="delete" parameterType="UserRole">
+        delete from s_user where u_id=#{u_id}
     </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 = #{u_id}
     </update>
 
-    <update id="update" parameterType="User">
-        UPDATE S_USER
-        <set>
-            <if test="name != null">
-                name=#{name,jdbcType=VARCHAR},
-            </if>
-            <if test="email != null">
-                email=#{email,jdbcType=VARCHAR},
-            </if>
-            <if test="phone != null">
-                phone=#{phone,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status=#{status,jdbcType=INTEGER},
-            </if>
-            <if test="update_date != null">
-                update_date=#{update_date,jdbcType=TIMESTAMP},
-            </if>
-        </set>
-        WHERE u_id=#{u_id}
+    <update id="update" parameterType="org.hsweb.web.bean.common.UpdateParam">
+        <include refid="fieldConfig"/>
+        <include refid="tableName"/>
+        <include refid="BasicMapper.buildUpdateSql"/>
     </update>
 
     <select id="selectByUserName" parameterType="string" resultMap="UserResultMap">
-        SELECT * FROM S_USER WHERE username=#{username}
+        select * from s_user where username=#{username}
     </select>
 
     <select id="selectByPk" parameterType="string" resultMap="UserResultMap">
-        SELECT * FROM S_USER WHERE u_id=#{u_id}
+        select * from s_user where u_id=#{u_id}
     </select>
 
     <select id="select" parameterType="org.hsweb.web.bean.common.QueryParam" resultMap="UserResultMap">
         <include refid="fieldConfig"/>
         <include refid="tableName"/>
-        <include refid="BasicMapper.selectSql"/>
+        <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.totalSql"/>
+        <include refid="BasicMapper.buildTotalSql"/>
     </select>
 </mapper>