GlobalConfigMapper.xml 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.dayou.mapper.GlobalConfigMapper">
  4. <!-- 通用查询映射结果 -->
  5. <resultMap id="BaseResultMap" type="com.dayou.entity.GlobalConfig">
  6. <result column="id" property="id" />
  7. <result column="deleted" property="deleted" />
  8. <result column="created" property="created" />
  9. <result column="modified" property="modified" />
  10. <result column="key" property="key" />
  11. <result column="field" property="field" />
  12. <result column="value" property="value" />
  13. <result column="description" property="description" />
  14. </resultMap>
  15. <!-- 通用查询结果列 -->
  16. <sql id="Base_Column_List">
  17. id,
  18. deleted,
  19. created,
  20. modified,
  21. `key`, field, value, description
  22. </sql>
  23. <insert id="insertOrUpdateBatch">
  24. insert into global_config(`key`, `value`,field,description) values
  25. <foreach collection="list" item="o" separator="," >
  26. (#{o.key},#{o.value},#{o.field},#{o.description})
  27. </foreach>
  28. on duplicate key update
  29. <![CDATA[`value` = case when values(`value`) <> '' then values(`value`) else `value` end,
  30. description = values(description)
  31. ]]>
  32. </insert>
  33. <update id="updateBatchByKey">
  34. update global_config
  35. set `value` = case
  36. <foreach collection="list" item="g" separator=" ">
  37. when `key`=#{g.key} and field = #{g.field} then #{g.value}
  38. </foreach>
  39. end
  40. where
  41. `key` in
  42. <foreach collection="list" item="g" separator="," open="(" close=")">
  43. #{g.key}
  44. </foreach>
  45. and field in
  46. <foreach collection="list" item="g" separator="," open="(" close=")">
  47. #{g.field}
  48. </foreach>
  49. </update>
  50. <select id="getValueByKeyFiled" resultType="java.lang.String">
  51. select value from global_config where deleted=0 and `key` = #{key} and field = #{field}
  52. </select>
  53. <select id="getValueByFiled" resultType="java.lang.String">
  54. select value from global_config where deleted=0 and field = #{field}
  55. </select>
  56. <select id="getConfigByKey" parameterType="java.lang.String" resultType="com.dayou.entity.GlobalConfig">
  57. SELECT id,`key`,field,value,description FROM global_config WHERE deleted=0 AND `key` = #{key}
  58. </select>
  59. </mapper>