欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

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

熱門標(biāo)簽:怎么申請(qǐng)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è)作者,很多評(píng)論,很多標(biāo)簽(包括了一對(duì)多,一對(duì)一)

!-- 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>

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

您可能感興趣的文章:
  • 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)問題,煩請(qǐng)?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)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产精品99久久久久| 国产黄色大片免费看| 色综合一区二区| 国产三级精品在线| 久久国产夜色精品鲁鲁99| 国产精品无码网站| 欧美一级片在线看| 亚洲va欧美va人人爽午夜| 91小视频在线观看| 色猫猫国产区一区二在线视频| 国产精品女人毛片| 大白屁股一区二区视频| 99鲁鲁精品一区二区三区| 欧美国产成人在线| 成人污视频在线观看| 色综合天天综合狠狠| 亚洲欧美色图小说| 91蝌蚪porny九色| 欧美日韩精品一区二区三区四区 | 亚洲夂夂婷婷色拍ww47 | 全网免费在线播放视频入口| 国产精品毛片高清在线完整版| 国产高清亚洲一区| 男女羞羞免费视频| 亚洲精品国久久99热| 在线精品视频播放| 日韩视频免费直播| 国产在线一区观看| 日韩欧美123区| 尤物av一区二区| 亚洲婷婷在线观看| 精品国产1区二区| 国产91对白在线观看九色| av女名字大全列表| 亚洲一区二区精品久久av| 在线免费观看a级片| 久久色成人在线| 成人一级黄色片| 欧美无人高清视频在线观看| 天涯成人国产亚洲精品一区av| 亚洲av无码一区二区三区人| 亚洲国产精品ⅴa在线观看| 99久久久精品| 欧美一区二区三区四区久久| 国内成人精品2018免费看| 精品一区在线观看视频| 亚洲午夜精品网| 久久久久久久久久久国产精品| 国产人久久人人人人爽| 91视频xxxx| 精品精品国产高清a毛片牛牛| 国产精品996| 欧美日韩在线三区| 黄一区二区三区| 91高清视频在线| 蜜桃视频一区二区| 国产大片免费看| 日韩在线一区二区三区| 精品国产大片大片大片| 亚洲综合在线观看视频| 懂色av蜜桃av| 亚洲一区二区三区小说| 特级西西人体高清大胆| 亚洲综合丁香婷婷六月香| 久久中文字幕精品| 一区二区三区四区不卡在线| 国产免费看av| 亚洲欧美日韩中文播放| 91久久免费视频| 亚洲精品日韩专区silk| 熟女少妇内射日韩亚洲| 一区二区在线电影| jizz日本在线播放| 丝袜美腿亚洲综合| 色婷婷激情久久| 精品一区二区影视| 欧美日韩第一区日日骚| 成人永久看片免费视频天堂| 日韩视频一区在线观看| 91麻豆swag| 欧美极品aⅴ影院| 欧美一区二区三区成人精品| 亚洲欧美日韩久久精品| 99久久99久久精品免费| 午夜伦欧美伦电影理论片| 国产精品99久久久久久成人| 毛片av中文字幕一区二区| 欧美视频在线一区| 成人毛片视频在线观看| ww亚洲ww在线观看国产| 国产在线不卡av| 伊人色综合久久天天| 精品国产视频在线观看| 激情偷乱视频一区二区三区| 欧美日本不卡视频| 97久久精品人人爽人人爽蜜臀| 久久久噜噜噜久久人人看| 中文字幕精品视频在线| 一区二区三区产品免费精品久久75| 国产白丝一区二区三区| 久久不见久久见免费视频7| 91精品国产色综合久久不卡蜜臀| 91浏览器打开| 成人欧美一区二区三区黑人麻豆| 国产福利在线导航| 狠狠色丁香婷婷综合| 欧美xxxxxxxx| 国产在线观看无码免费视频| 亚洲成人先锋电影| 欧美三级中文字| 91蜜桃传媒精品久久久一区二区| 国产精品久久久久久久久免费桃花| 久久婷婷五月综合| 九九**精品视频免费播放| 日韩欧美国产一区二区在线播放| 佐佐木明希电影| 一区二区三区四区不卡在线| 日本高清成人免费播放| 99在线视频精品| 亚洲三级在线看| 成人羞羞国产免费图片| 成人高清免费在线播放| 三级电影在线看| 日本视频一区二区三区| 欧美一级理论片| 人妻在线日韩免费视频| 日日夜夜一区二区| 欧美一个色资源| a级在线观看视频| 男女激情视频一区| 精品伦理精品一区| 国产亚洲精品熟女国产成人| 狠狠久久亚洲欧美| 国产欧美一区二区精品仙草咪| 国产精品麻豆一区| 成人免费毛片片v| 亚洲日本免费电影| 欧美性猛片xxxx免费看久爱 | 久久久国产精华| 欧美性生给视频| 成人av午夜电影| 一级女性全黄久久生活片免费| 欧美日韩精品一区二区三区四区| 中文字幕在线观看91| 视频一区二区三区中文字幕| 欧美大片在线观看一区| 特级西西www444人体聚色 | 99久久伊人久久99| 亚洲自拍偷拍av| 日韩欧美亚洲国产精品字幕久久久| 免费在线观看你懂的| 国内成人免费视频| 中文字幕亚洲在| 精品视频在线免费看| 久久偷拍免费视频| 国产一区三区三区| 亚洲欧洲日本在线| 欧美日韩精品欧美日韩精品一综合| 男男做爰猛烈叫床爽爽小说| 韩国中文字幕2020精品| 国产精品二三区| 欧美日韩高清一区二区| 97人妻精品一区二区免费| 国产精品一二三区在线| 亚洲麻豆国产自偷在线| 欧美丰满嫩嫩电影| 日韩视频在线观看免费视频| av中文字幕亚洲| 丝袜亚洲另类欧美| 中文字幕免费不卡在线| 欧美伊人久久久久久午夜久久久久| 欧美大片免费播放器| 国产福利一区二区三区视频在线| 亚洲久草在线视频| 日韩亚洲欧美成人一区| 国产精品视频一区二区在线观看| 人妻少妇偷人精品久久久任期| 免费观看一级特黄欧美大片| 中文一区二区在线观看| 欧美精品久久一区| 国产日产精品一区二区三区的介绍| 亚洲少妇一区二区| 国产一区二区网址| 亚洲一区二区三区在线看| 久久精品免费在线观看| 欧美无乱码久久久免费午夜一区 | 亚洲线精品一区二区三区| 欧美精品一区二区三区高清aⅴ | 国产日韩精品视频一区| 欧美日韩在线三级| 亚洲女人毛茸茸高潮| 97精品人妻一区二区三区蜜桃| 国产精品主播直播| 亚洲 欧美综合在线网络| 中文一区二区完整视频在线观看| 91精品黄色片免费大全| 丰满少妇被猛烈进入一区二区| 538国产视频| 99精品视频一区二区| 久久66热偷产精品|