1. 程式人生 > 實用技巧 >mybatis XML SQL基本配置

mybatis XML SQL基本配置


<!--分頁引數查詢-->
<select id="findByPage1" resultType="user">
    select * from t_user limit #{startIndex},#{pageSize}
</select>
<!--分頁引數查詢-->
<select id="findByPage2" resultType="user">
    select * from t_user limit #{param1},#{param2}
</select>


<!--多條件查詢QueryVO封裝條件-->
<select id="findByQueryVO" resultType="user">
    select * from t_user
    where user_name like concat("%",#{user.username},"%") and sex = #{user.sex}
    limit #{startIndex},#{pageSize}
</select>
<!--多條件查詢Map封住條件-->
<select id="findByMap" resultType="user">
    select * from t_user
    where user_name like concat("%",#{username},"%") and sex = #{sex}
    limit #{startIndex},#{pageSize}
</select>
<select id="selectAll" resultMap="userResultMap">
    select * from t_user
</select>
<!--回顯主鍵-->
<!--  第一種int型別
    keyColumn:主鍵欄位名
    keyProperty:主鍵屬性名
    resultType:屬性型別
    order:執行時機
            可選擇:AFTER,BEFORE 只能寫大寫
    select last_insert_id():查詢最後一次新增的id
-->
<insert id="insert01">
  <selectKey keyColumn="id" keyProperty="id" resultType="int" order="AFTER">
      /*查詢最後一次新增的id  並封裝到user裡面*/
    select last_insert_id()
  </selectKey>
    INSERT INTO `t_user` (
        `id`,
        `user_name`,
        `birthday`,
        `sex`,
        `home_address`
        )
    VALUES
      (
        null,
        #{username},
        #{birthday},
        #{sex},
        #{address}
      )
</insert>

<!--第二種獲取主鍵方式int型別  是否自動回顯主鍵-->
<insert id="insert02" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
    INSERT INTO `t_user` (
    `id`,
    `user_name`,
    `birthday`,
    `sex`,
    `home_address`
    )
    VALUES
    (
    null,
    #{username},
    #{birthday},
    #{sex},
    #{address}
    )
</insert>
<!--  第三種String型別
keyColumn:主鍵欄位名
keyProperty:主鍵屬性名
resultType:屬性型別
order:執行時機
        可選擇:AFTER,BEFORE 只能寫大寫
select last_insert_id():查詢最後一次新增的id

-->


/查詢最後一次新增的id 並封裝到user裡面/
select uuid()/自己生成一個傳遞過去/

INSERT INTO t_user (
id,
user_name,
birthday,
sex,
home_address
)
VALUES
(
null,
#{username},
#{birthday},
#{sex},
#{address}
)