mybatis-xml配置

config.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>

    <settings>
        <setting name="cacheEnabled" value="false"/>
        <!--延迟加载 解决N+1次数据库查询问题-->
        <settingname="lazyLoadingEnabled"value="true"/>
       <settingname="aggressiveLazyLoading"value="false"/>
    </settings>

    <typeAliases>
        <typeAlias type="com.aiso.ijee.system.domain.SysCodeTable" alias="SysCodeTable"/>
        <typeAlias type="com.aiso.ijee.system.domain.SysCodeTableValue" alias="SysCodeTableValue"/>
        <typeAlias type="com.aiso.ijee.system.domain.SysOrg" alias="SysOrg"/>
        <typeAlias type="com.aiso.ijee.system.domain.SysUser" alias="SysUser"/>
        <typeAlias type="com.aiso.ijee.system.domain.SysRole" alias="SysRole"/>
        <typeAlias type="com.aiso.ijee.system.domain.SysResource" alias="SysResource"/>
    </typeAliases>

    <!-- name是数据库厂商名,value是你自己的标识名 支持多种数据库 -->
    <databaseIdProvider type="DB_VENDOR">
        <property name="SQL" value="sqlserver"/>
        <property name="DB2" value="db2"/>
        <property name="Oracle" value="oracle"/>
        <property name="Adaptive Server Enterprise" value="sybase"/>
        <property name="MySQL" value="mysql"/>
    </databaseIdProvider>

</configuration>

Mapper.xml

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.aiso.ijee.system.dao.SysCodeTableDao">

    <!-- 添加 -->
    <!-- 使用uuid作为主键,mysql -->
    <insert id="insertSysCodeTable" parameterType="SysCodeTable"
        flushCache="true">

     <![CDATA[
        insert into sys_code_table (id,code,name,type,sort_no,remark)
            values (
            #{id,jdbcType=VARCHAR},
            #{code,jdbcType=VARCHAR},
            #{name,jdbcType=VARCHAR},
            #{type,jdbcType=DECIMAL},
            #{sortNo,jdbcType=DECIMAL},
            #{remark,jdbcType=VARCHAR})
        ]]>
    </insert>

    <!-- 查询 -->
    <select id="selectAllCodeTablesCache" resultMap="codeTableResultMap"
        flushCache="true">
        SELECT
        ct.*,
        ctv.id v_id,
        ctv.name v_name,
        ctv.value v_value,
        ctv.sort_no v_sort_no,
        ctv.remark v_remark
        FROM
        sys_code_table ct
        LEFT JOIN sys_code_table_value ctv
        ON ct.id = ctv.code_table_id
        ORDER BY ct.type,
        ct.sort_no,
        v_value,
        v_sort_no,
        v_name
    </select>
    <select id="selectSysCodeTableById" parameterType="String"
        resultMap="codeTableResultMap" flushCache="true">
        SELECT
        ct.*,
        ctv.id v_id,
        ctv.name v_name,
        ctv.value v_value,
        ctv.sort_no v_sort_no,
        ctv.remark v_remark
        FROM
        sys_code_table ct
        LEFT JOIN sys_code_table_value ctv
        ON ct.id = ctv.code_table_id
        where ct.id = #{id}
        ORDER BY ct.type,
        ct.sort_no,
        v_value,
        v_sort_no,
        v_name
    </select>



    <resultMap id="codeTableResultMap" type="SysCodeTable">
        <id property="id" column="id" />
        <result property="code" column="code" />
        <result property="name" column="name" />
        <result property="type" column="type" />
        <result property="sortNo" column="sort_no" />
        <result property="remark" column="remark" />
        <collection property="sysCodeTableValues" ofType="SysCodeTableValue">
            <id property="id" column="v_id" />
            <result property="name" column="v_name" />
            <result property="value" column="v_value" />
            <result property="sortNo" column="v_sort_no" />
            <result property="remark" column="v_remark" />
        </collection>
    </resultMap>

    <!-- 修改 -->
    <update id="updateSysCodeTable" parameterType="SysCodeTable"
        flushCache="true">
        update sys_code_table
        set
        name=#{name}, code=#{code},type=#{type},
        sort_no=#{sortNo},remark=#{remark}
        where id=#{id}
    </update>

    <!-- 删除子表 -->
    <delete id="deleteSysCodeTableValueByCVId" parameterType="String"
        flushCache="true">
        delete from
        sys_code_table_value
        where code_table_id = #{id}
    </delete>

    <!-- 删除主表 -->
    <delete id="deleteSysCodeTableById" parameterType="String"
        flushCache="true">
        delete from
        sys_code_table
        where id = #{id}
    </delete>
</mapper>
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"  
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.aiso.ijee.system.dao.SysResourceDao">
    <!-- 添加 -->
    <!-- 使用uuid作为主键,mysql -->
    <insert id="insertResource" parameterType="SysResource"
        flushCache="true">

     <![CDATA[
        insert into sys_resource (id,parent_id,r_name, r_code,type,
            url,level_num,level_code,icon_CSS,icon_url,sort_no,remark)
            values (
            #{id,jdbcType=VARCHAR},
            #{parent.id,jdbcType=VARCHAR},
            #{rName,jdbcType=VARCHAR},
            #{rCode,jdbcType=VARCHAR},
            #{type,jdbcType=DECIMAL},
            #{url,jdbcType=VARCHAR},
            #{levelNum,jdbcType=DECIMAL},
            #{levelCode,jdbcType=VARCHAR},
            #{iconCSS,jdbcType=VARCHAR},
            #{iconUrl,jdbcType=VARCHAR},
            #{click,jdbcType=VARCHAR},
            #{sortNo,jdbcType=DECIMAL},
            #{remark,jdbcType=VARCHAR}),
            #{permission,jdbcType=VARCHAR})
        ]]>
    </insert>
    <!-- 删除 -->
    <delete id="deleteResource" parameterType="String" flushCache="true">
        delete from
        sys_resource
        where id = #{id}
    </delete>

    <!-- 修改 -->
    <update id="updateResource" parameterType="SysResource"
        flushCache="true">
        update sys_resource
        set
        r_name=#{rName}, r_code=#{rCode},type=#{type},
        url=#{url},level_num=#{levelNum},level_code=#{levelCode},icon_css=#{iconCss},icon_url=#{iconUrl},click=#{click},sort_no=#{sortNo},remark=#{remark},
        permission=#{permission}
        where id=#{id}
    </update>




    <!-- 查询 -->
    <select id="selectAllResources" resultMap="resourcesResultMap"
        flushCache="true">
        select * from
        sys_resource order by sort_no
    </select>

    <select id="selectResourceById" parameterType="String"
        resultMap="resourcesResultMap" flushCache="true">
        select * from sys_resource
        where id = #{id}
    </select>

    <select id="selectParent" parameterType="String" resultMap="resourcesResultMap2">
        select * from sys_resource where id=#{parent.id}
    </select>

    <select id="selectChildrenResources" parameterType="String"
        resultMap="resourcesResultMap2" flushCache="true">
        select * from sys_resource
        where parent_id = #{id}
    </select>



    <resultMap id="resourcesResultMap" type="SysResource">
        <id property="id" column="id" />
        <result property="rName" column="r_name" />
        <result property="rCode" column="r_code" />
        <result property="type" column="type" />
        <result property="url" column="url" />
        <result property="iconUrl" column="icon_url" />
        <result property="iconCss" column="icon_css" />
        <result property="click" column="click" />
        <result property="levelNum" column="level_num" />
        <result property="levelCode" column="level_code" />
        <result property="sortNo" column="sort_no" />
        <result property="remark" column="remark" />
        <result property="permission" column="permission" />

        <!-- 查询父模块 -->
        <association property="parent" column="parent_id" select="selectParent" />

        <!-- 查询子模块 -->
        <collection property="children" column="id" ofType="SysResource"
            javaType="java.util.ArrayList" select="selectChildrenResources" />
    </resultMap>


    <resultMap id="resourcesResultMap2" type="SysResource">
        <id property="id" column="id" />
        <result property="rName" column="r_name" />
        <result property="rCode" column="r_code" />
        <result property="type" column="type" />
        <result property="url" column="url" />
        <result property="iconUrl" column="icon_url" />
        <result property="iconCss" column="icon_css" />
        <result property="click" column="click" />
        <result property="levelNum" column="level_num" />
        <result property="levelCode" column="level_code" />
        <result property="sortNo" column="sort_no" />
        <result property="remark" column="remark" />
        <result property="permission" column="permission" />
    </resultMap>


    <select id="selectChildrenByType" resultMap="resourcesResultMap2"
        flushCache="true">
        select * from sys_resource
        where parent_id = #{menuId} and
        type = #{type } order by sort_no
    </select>

</mapper>

application.xml

<!-- 扫描basePackage接口 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <!-- 映射器接口文件的包路径, -->
        <property name="basePackage" value="com.aiso.ijee.*.dao" />
    </bean>


    <!-- MyBatis配置 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!-- mybatis配置文件路径 -->
        <property name="configLocation" value="classpath:/mybatis/config.xml" />
        <!-- 显式指定Mapper文件位置 -->
        <property name="mapperLocations" value="classpath*:/mybatis/*Mapper.xml" />
    </bean>

    <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate">
        <constructor-arg index="0" ref="sqlSessionFactory" />
        <!-- 这个执行器会批量执行更新语句, 还有SIMPLE 和 REUSE -->
        <constructor-arg index="1" value="BATCH" />
    </bean>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿与禅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值