好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > mybatis映射XML文件詳解及實(shí)例

mybatis映射XML文件詳解及實(shí)例

熱門標(biāo)簽:怎么申請400熱線電話 簡單的智能語音電銷機(jī)器人 泗洪正規(guī)電話機(jī)器人找哪家 怎么去開發(fā)一個(gè)電銷機(jī)器人 南昌呼叫中心外呼系統(tǒng)哪家好 湖南保險(xiǎn)智能外呼系統(tǒng)產(chǎn)品介紹 河北便宜電銷機(jī)器人軟件 ai電話電話機(jī)器人 小程序智能電話機(jī)器人

mybatis映射XML文件

一個(gè)簡單的映射文件:

?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.cnx.wxcar.mapper.CustomerMapper">
/mapper>

當(dāng)然這個(gè)文件中沒有任何的元素

The Mapper XML files have only a few first class elements :

  1. cache – Configuration of the cache for a given namespace.
  2. cache-ref – Reference to a cache configuration from another namespace.
  3. resultMap – The most complicated and powerful element that describes how to load your objects from the database result sets.
  4. sql – A reusable chunk of SQL that can be referenced by other statements.
  5. insert – A mapped INSERT statement.
  6. update – A mapped UPDATE statement.
  7. delete – A mapped DELETE statement.
  8. select – A mapped SELECT statement.

select

簡單的例子:

select id="selectPerson" parameterType="int" resultType="hashmap">
 SELECT * FROM PERSON WHERE ID = #{id}
/select>

select也有很多屬性可以讓你配置:

select
 id="selectPerson"
 parameterType="int"
 parameterMap="deprecated"
 resultType="hashmap"
 resultMap="personResultMap"
 flushCache="false"
 useCache="true"
 timeout="10000"
 fetchSize="256"
 statementType="PREPARED"
 resultSetType="FORWARD_ONLY">

insert, update and delete

insert
 id="insertAuthor"
 parameterType="domain.blog.Author"
 flushCache="true"
 statementType="PREPARED"
 keyProperty=""
 keyColumn=""
 useGeneratedKeys=""
 timeout="20">

update
 id="updateAuthor"
 parameterType="domain.blog.Author"
 flushCache="true"
 statementType="PREPARED"
 timeout="20">

delete
 id="deleteAuthor"
 parameterType="domain.blog.Author"
 flushCache="true"
 statementType="PREPARED"
 timeout="20">

語句:

insert id="insertAuthor">
 insert into Author (id,username,password,email,bio)
 values (#{id},#{username},#{password},#{email},#{bio})
/insert>

update id="updateAuthor">
 update Author set
  username = #{username},
  password = #{password},
  email = #{email},
  bio = #{bio}
 where id = #{id}
/update>

delete id="deleteAuthor">
 delete from Author where id = #{id}
/delete>

f your database supports auto-generated key fields (e.g. MySQL and SQL Server),上面的插入語句可以寫成:

insert id="insertAuthor" useGeneratedKeys="true"
  keyProperty="id">
 insert into Author (username,password,email,bio)
 values (#{username},#{password},#{email},#{bio})
/insert>

如果你的數(shù)據(jù)庫還支持多條記錄插入,可以使用下面這個(gè)語句:

insert id="insertAuthor" useGeneratedKeys="true"
  keyProperty="id">
 insert into Author (username, password, email, bio) values
 foreach item="item" collection="list" separator=",">
  (#{item.username}, #{item.password}, #{item.email}, #{item.bio})
 /foreach>
/insert>

sql

這個(gè)element可以定義一些sql代碼的碎片,然后在多個(gè)語句中使用,降低耦合。比如:

sql id="userColumns"> ${alias}.id,${alias}.username,${alias}.password /sql>

然后在下面的語句中使用:

select id="selectUsers" resultType="map">
 select
  include refid="userColumns">property name="alias" value="t1"/>/include>,
  include refid="userColumns">property name="alias" value="t2"/>/include>
 from some_table t1
  cross join some_table t2
/select>

Result Maps

官網(wǎng)給了個(gè)最最復(fù)雜的例子

大體意思呢就是一個(gè)博客系統(tǒng)有一個(gè)作者,很多博文,博文中有一個(gè)作者,很多評論,很多標(biāo)簽(包括了一對多,一對一)

!-- Very Complex Statement -->
select id="selectBlogDetails" resultMap="detailedBlogResultMap">
 select
    B.id as blog_id,
    B.title as blog_title,
    B.author_id as blog_author_id,
    A.id as author_id,
    A.username as author_username,
    A.password as author_password,
    A.email as author_email,
    A.bio as author_bio,
    A.favourite_section as author_favourite_section,
    P.id as post_id,
    P.blog_id as post_blog_id,
    P.author_id as post_author_id,
    P.created_on as post_created_on,
    P.section as post_section,
    P.subject as post_subject,
    P.draft as draft,
    P.body as post_body,
    C.id as comment_id,
    C.post_id as comment_post_id,
    C.name as comment_name,
    C.comment as comment_text,
    T.id as tag_id,
    T.name as tag_name
 from Blog B
    left outer join Author A on B.author_id = A.id
    left outer join Post P on B.id = P.blog_id
    left outer join Comment C on P.id = C.post_id
    left outer join Post_Tag PT on PT.post_id = P.id
    left outer join Tag T on PT.tag_id = T.id
 where B.id = #{id}
/select>

!-- Very Complex Result Map -->
resultMap id="detailedBlogResultMap" type="Blog">
 constructor>
  idArg column="blog_id" javaType="int"/>
 /constructor>
 result property="title" column="blog_title"/>
 association property="author" javaType="Author">
  id property="id" column="author_id"/>
  result property="username" column="author_username"/>
  result property="password" column="author_password"/>
  result property="email" column="author_email"/>
  result property="bio" column="author_bio"/>
  result property="favouriteSection" column="author_favourite_section"/>
 /association>
 collection property="posts" ofType="Post">
  id property="id" column="post_id"/>
  result property="subject" column="post_subject"/>
  association property="author" javaType="Author"/>
  collection property="comments" ofType="Comment">
   id property="id" column="comment_id"/>
  /collection>
  collection property="tags" ofType="Tag" >
   id property="id" column="tag_id"/>
  /collection>
  discriminator javaType="int" column="draft">
   case value="1" resultType="DraftPost"/>
  /discriminator>
 /collection>
/resultMap>

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

您可能感興趣的文章:
  • mybatis框架的xml映射文件常用查詢指南
  • mybatis的mapper.xml中resultMap標(biāo)簽的使用詳解
  • 淺談mybatis mapper.xml文件中$和#的區(qū)別
  • MyBatis中XML 映射文件中常見的標(biāo)簽說明

標(biāo)簽:那曲 荊門 瀘州 江蘇 威海 淮安 景德鎮(zhèn) 柳州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mybatis映射XML文件詳解及實(shí)例》,本文關(guān)鍵詞  mybatis,映射,XML,文件,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mybatis映射XML文件詳解及實(shí)例》相關(guān)的同類信息!
  • 本頁收集關(guān)于mybatis映射XML文件詳解及實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 男生操女生屁股| 久久久久久精品人妻一区四寸 | 人工 换脸 在线 亚洲| 国产精品午夜福利免费阅读软件| 男人插女人动态视频| 日韩欧美色| 日本??奶头?裸体| 精品人妻无码专区在中文字幕| 青青草成人影视| 一本色道久久88亚洲精品综合| 免费看男人脱女人内衣内裤| 久久婷婷五月综合色国产香蕉| 久久久久久精品一区二区三区| 少妇交换做爰1| 成人毛片18女人毛片免费| 国产午夜精品不卡视频| 亚洲痴女| 免费黄色小说在线观看| 老师解开乳罩喂我吃奶视频| 999zyz玖玖资源站最稳定在线观看 | AV精品一区二区三区| 亚洲男人天堂影院| 免费黄色短片| 色噜噜狠狠一区二区三区四区偷拍| 丝袜人妻奴性驯服| 女人women| 国产一国产一级毛片视瓶| 玉茎玉蚌销魂荡魄小说| 9lPORNY九色视频l偷拍 | 国产小屁孩cao大人| xxxxhdvideos名人| 巜波多野结衣办公室系列24部| av亚洲产国偷v产偷v自拍小说| 亚洲一区二区三区高清视频| 国产精品人獸交一区二区三区| 欧美AV另类Av综合A√| 午夜探花| 通房h| 一本一道人妻久久久久久中文字幕| 五月香婷婷狠狠久久豆麻| lutube成人福利在线观看|