RecruitInfoMapper.xml 3.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  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.sayu.mapper.RecruitInfoMapper">
  4. <resultMap id="BaseResultMap" type="com.sayu.entity.RecruitInfo">
  5. <id column="id" property="id"/>
  6. <result column="user_identity_id" property="userIdentityId"/>
  7. <result column="work_types" property="workTypes"/>
  8. <result column="price" property="price"/>
  9. <result column="price_unit" property="priceUnit"/>
  10. <result column="worker_count" property="workerCount"/>
  11. <result column="days" property="days"/>
  12. <result column="location" property="location"/>
  13. <result column="latitude" property="latitude"/>
  14. <result column="longitude" property="longitude"/>
  15. <result column="remark" property="remark"/>
  16. <result column="status" property="status"/>
  17. <result column="keyword_flag" property="keywordFlag"/>
  18. <result column="created_at" property="createdAt"/>
  19. </resultMap>
  20. <sql id="Base_Column_List">
  21. id, user_identity_id, work_types, price, price_unit, worker_count, days,
  22. location, latitude, longitude, remark, status, keyword_flag, created_at
  23. </sql>
  24. <select id="selectById" resultMap="BaseResultMap">
  25. SELECT <include refid="Base_Column_List"/>
  26. FROM recruit_info
  27. WHERE id = #{id}
  28. </select>
  29. <select id="selectByUserIdentityId" resultMap="BaseResultMap">
  30. SELECT <include refid="Base_Column_List"/>
  31. FROM recruit_info
  32. WHERE user_identity_id = #{userIdentityId}
  33. ORDER BY created_at DESC
  34. </select>
  35. <select id="selectList" resultMap="BaseResultMap">
  36. SELECT <include refid="Base_Column_List"/>
  37. FROM recruit_info
  38. <where>
  39. <if test="status != null">
  40. AND status = #{status}
  41. </if>
  42. <if test="keywordFlag != null">
  43. AND keyword_flag = #{keywordFlag}
  44. </if>
  45. <if test="keyword != null and keyword != ''">
  46. AND (work_types LIKE CONCAT('%', #{keyword}, '%')
  47. OR location LIKE CONCAT('%', #{keyword}, '%')
  48. OR remark LIKE CONCAT('%', #{keyword}, '%'))
  49. </if>
  50. </where>
  51. ORDER BY created_at DESC
  52. </select>
  53. <insert id="insert" parameterType="com.sayu.entity.RecruitInfo" useGeneratedKeys="true" keyProperty="id">
  54. INSERT INTO recruit_info (user_identity_id, work_types, price, price_unit, worker_count, days,
  55. location, latitude, longitude, remark, status, keyword_flag, created_at)
  56. VALUES (#{userIdentityId}, #{workTypes}, #{price}, #{priceUnit}, #{workerCount}, #{days},
  57. #{location}, #{latitude}, #{longitude}, #{remark}, #{status}, #{keywordFlag}, NOW())
  58. </insert>
  59. <update id="update" parameterType="com.sayu.entity.RecruitInfo">
  60. UPDATE recruit_info
  61. <set>
  62. <if test="workTypes != null">work_types = #{workTypes},</if>
  63. <if test="price != null">price = #{price},</if>
  64. <if test="priceUnit != null">price_unit = #{priceUnit},</if>
  65. <if test="workerCount != null">worker_count = #{workerCount},</if>
  66. <if test="days != null">days = #{days},</if>
  67. <if test="location != null">location = #{location},</if>
  68. <if test="latitude != null">latitude = #{latitude},</if>
  69. <if test="longitude != null">longitude = #{longitude},</if>
  70. <if test="remark != null">remark = #{remark},</if>
  71. </set>
  72. WHERE id = #{id}
  73. </update>
  74. <update id="updateStatus">
  75. UPDATE recruit_info
  76. SET status = #{status}
  77. WHERE id = #{id}
  78. </update>
  79. <update id="updateKeywordFlag">
  80. UPDATE recruit_info
  81. SET keyword_flag = #{keywordFlag}
  82. WHERE id = #{id}
  83. </update>
  84. </mapper>