欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis增刪改查mapper文件寫法詳解

 更新時間:2017年03月01日 10:00:06   作者:real_孟林潔  
這篇文章主要介紹了Mybatis增刪改查mapper文件寫法的相關(guān)資料,需要的朋友可以參考下

  1. 插入

<mapper namespace="需要實現(xiàn)接口的全類名">
 <insert id="需要實現(xiàn)的接口里的方法名" parameterType="方法參數(shù)類型,如果是對象要寫全類名">
  INSERT sql命令(命令里通過#{}獲取對象屬性)
  <!--注意屬性名區(qū)分大小寫 -->
 </insert>
<mapper>

EG:

<mapper namespace="com.mlj.dao.PersonDao">
 <insert id="insertPerson" parameterType="com.mlj.entity.Prac_Person">
  INSERT INTO PRAC_PERSON(p_NAME,P_PASSWORD) VALUES(#{name},#{password})
 </insert>
</mapper>

2. 查詢

<select id="方法名" parameterType="方法參數(shù)類型" resultType="方法返回值類型,全類名">
 SELECT 表里字段名 AS 結(jié)果字段名 FROM 表名 WHERE 條件
 <!--注意:結(jié)果字段名與屬性名保持一致,區(qū)分大小寫-->
</select>

EG:

<resultMap type="Address" id="address">
 <result column="A_PERSON" property="personId"/>
 <result column="A_ADDRESS" property="address"/>
 <result column="A_NUMBER" property="number"/></resultMap>
 <select id="selectAddressByPersonId"
 parameterType="java.lang.String" resultMap="address">
   SELECT * FROM PRAC_ADDRESS LEFT JOIN PRAC_PERSON ON A_PERSON=#{personId} AND PRAC_ADDRESS.A_PERSON=PRAC_PERSON.P_ID
 </select>

此處先配置resultMapp,使表列名與屬性名一致。

3.修改

與前面插入除了sql語句基本一致,直接貼代碼

<update id="updatePersonInformation" parameterType="com.mlj.entity.Prac_Person" > 
  UPDATE PRAC_PERSON SET P_NAME=#{name},P_PASSWORD=#{password} WHERE P_ID=#{id}
  <!-- 屬性字段名區(qū)分大小寫 -->
</update>

4.刪除

與前面插入除了sql語句基本一致,直接貼代碼

<delete id="deletePerson" parameterType="java.lang.Integer">
  DELETE FROM PRAC_PERSON WHERE P_ID=#{id}
</delete>

下面看下mybatis的mapper配置文件的一般寫法

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.hzcominfo.voucher.CommodityCategoryManager">
<cache-ref namespace="com.hzcominfo.dataggr.cloud" />
<insert id="insertCommodityCategoryManager" parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManager" keyProperty="id" >
INSERT INTO COMMODITY_CATEGORY_MANAGER (
<include refid="fields" />
) VALUES (
<include refid="values" />
)
</insert>
<update id="updateCommodityCategoryManager" parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
UPDATE COMMODITY_CATEGORY_MANAGER 
<include refid="set" />
<include refid="where" />
</update>
<update id="deleteCommodityCategoryManager" parameterType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
DELETE FROM COMMODITY_CATEGORY_MANAGER <include refid="where" />
</update>
<select id="selectCommodityCategoryManager" parameterType="String"
resultType="com.hzcominfo.voucher.mapper.CommodityCategoryManager">
SELECT * FROM COMMODITY_CATEGORY_MANAGER <include refid="where" />
</select>
<select id="selectCommodityCategoryManagerByCriteria" parameterType="net.butfly.albacore.dbo.criteria.Criteria"
resultType="com.hzcominfo.voucher.mapper.CommodityCategoryManagerKey">
SELECT CATEGORY_ID, USER_ID FROM COMMODITY_CATEGORY_MANAGER <include refid="where" />
</select>
<select id="countCommodityCategoryManagerByCriteria" parameterType="net.butfly.albacore.dbo.criteria.Criteria"
resultType="long">
SELECT count(*) FROM COMMODITY_CATEGORY_MANAGER <include refid="where" />
</select> 
<sql id="fields">
<if test="categoryId!=null">CATEGORY_ID</if>
<if test="userId!=null">,USER_ID</if>
</sql>
<sql id="values">
<if test="categoryId!=null">#{categoryId}</if>
<if test="userId!=null">,#{userId}</if>
</sql>
<sql id="set">
<set>
<trim prefix="" prefixOverrides=",">
<if test="categoryId!=null">,CATEGORY_ID=#{categoryId}</if>
<if test="userId!=null">,USER_ID=#{userId}</if>
</trim>
</set>
</sql>
<sql id="where">
<where>
 <trim prefix="" prefixOverrides="and|or" >
<if test="categoryId!=null">AND CATEGORY_ID=#{categoryId}</if>
<if test="userId!=null">AND USER_ID=#{userId}</if>
</trim>
</where>
</sql>
</mapper>

以上所述是小編給大家介紹的Mybatis增刪改查mapper文件寫法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 關(guān)于Mysql的四種存儲引擎

    關(guān)于Mysql的四種存儲引擎

    這篇文章主要介紹了關(guān)于Mysql的四種存儲引擎,MySql的核心就是存儲引擎,不同的存儲引擎提供不同的存儲機制、索引技巧、鎖定水平等功能,使用不同的存儲引擎,還可以 獲得特定的功能,需要的朋友可以參考下
    2023-05-05
  • 基于@JsonFormat的導(dǎo)包問題

    基于@JsonFormat的導(dǎo)包問題

    這篇文章主要介紹了關(guān)于@JsonFormat的導(dǎo)包問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringBoot實戰(zhàn)教程之新手入門篇

    SpringBoot實戰(zhàn)教程之新手入門篇

    Spring Boot使我們更容易去創(chuàng)建基于Spring的獨立和產(chǎn)品級的可以"即時運行"的應(yīng)用和服務(wù),下面這篇文章主要給大家介紹了關(guān)于SpringBoot實戰(zhàn)教程之入門篇的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • Java?C++題解leetcode904水果成籃

    Java?C++題解leetcode904水果成籃

    這篇文章主要為大家介紹了Java?C++題解leetcode904水果成籃示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • springMVC盜鏈接詳解

    springMVC盜鏈接詳解

    這篇文章主要為大家詳細(xì)介紹了SpringMVC盜鏈接詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能給你帶來幫助
    2021-07-07
  • PowerJob UseCacheLock工作流程源碼剖析

    PowerJob UseCacheLock工作流程源碼剖析

    這篇文章主要為大家介紹了PowerJob UseCacheLock工作流程源碼剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 解決運行jar包出錯:ClassNotFoundException問題

    解決運行jar包出錯:ClassNotFoundException問題

    這篇文章主要介紹了解決運行jar包出錯:ClassNotFoundException問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java使用泛型Class實現(xiàn)消除模板代碼

    Java使用泛型Class實現(xiàn)消除模板代碼

    Class作為實現(xiàn)反射功能的類,在開發(fā)中經(jīng)常會用到,然而,當(dāng)Class遇上泛型后,事情就變得不是那么簡單了,所以本文就來講講Java如何使用泛型Class實現(xiàn)消除模板代碼,需要的可以參考一下
    2023-06-06
  • 深入了解Java中的類加載機制

    深入了解Java中的類加載機制

    通常,在關(guān)于Java的類加載部分會遇到以上疑問,本文將對類加載重要部分做詳細(xì)介紹,包括重要的基礎(chǔ)概念和應(yīng)用場景,在編寫過程中也幫助作者重新熟悉并加固了知識點,希望在看完后對大家能有所幫助
    2022-11-11
  • Java中List集合去重方法以及效率對比

    Java中List集合去重方法以及效率對比

    這篇文章主要給大家介紹了關(guān)于Java中List集合去重方法以及效率對比的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04

最新評論