中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

描述政府網(wǎng)站網(wǎng)站建設(shè)簡(jiǎn)單制作html靜態(tài)網(wǎng)頁(yè)

描述政府網(wǎng)站網(wǎng)站建設(shè),簡(jiǎn)單制作html靜態(tài)網(wǎng)頁(yè),網(wǎng)站建設(shè) 技術(shù)支持 阿里,視頻網(wǎng)站開(kāi)發(fā)工具本文目錄 前言一、創(chuàng)建XML映射文件二、MybatisX插件安裝三、mapper標(biāo)簽四、select標(biāo)簽UserMapper接口方法UserMapper.xml 五、resultMap標(biāo)簽定義resultMap標(biāo)簽修改select標(biāo)簽 總結(jié) 前言 MyBatis的強(qiáng)大在于它的語(yǔ)句映射,它提供了注解和XML映射文件兩種開(kāi)發(fā)方式&…

CSDN成就一億技術(shù)人


本文目錄

  • 前言
  • 一、創(chuàng)建XML映射文件
  • 二、MybatisX插件安裝
  • 三、mapper標(biāo)簽
  • 四、select標(biāo)簽
    • UserMapper接口方法
    • UserMapper.xml
  • 五、resultMap標(biāo)簽
    • 定義resultMap標(biāo)簽
    • 修改select標(biāo)簽
  • 總結(jié)


前言

MyBatis的強(qiáng)大在于它的語(yǔ)句映射,它提供了注解和XML映射文件兩種開(kāi)發(fā)方式,都是為了減少我們的使用成本,屏蔽JDBC代碼細(xì)節(jié),節(jié)省代碼,從而讓我們更專(zhuān)注于SQL代碼!

通過(guò) 《上文》,我們學(xué)會(huì)了常用12種注解開(kāi)發(fā),本文主要講解XML映射文件方式開(kāi)發(fā),輕松學(xué)會(huì)創(chuàng)建XML映射文件和常用的select標(biāo)簽resultMap標(biāo)簽的用法。


一、創(chuàng)建XML映射文件

XML映射文件的目錄位置通常推薦創(chuàng)建在resources下,例如實(shí)戰(zhàn)案例創(chuàng)建如下:

tg-book-dalresources下創(chuàng)建與UserMapper.java對(duì)應(yīng)的Xml映射文件UserMapper.xml,如下圖:

在這里插入圖片描述

要求:路徑相同,名稱(chēng)相同。

不同行不行?可以通過(guò)mybatis.mapper-locations配置!建議保持默認(rèn)相同!

UserMapper.xml的內(nèi)容定義如下:

<?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="org.tg.book.dal.mapper.UserMapper"></mapper>

二、MybatisX插件安裝

這里推薦安裝使用MybatisX插件,非常方便在接口與XML映射文件之間來(lái)回跳轉(zhuǎn)!以及可以生成標(biāo)簽

IDEA的File-》Settings-》Plugins 搜索MybatisX安裝即可!

在這里插入圖片描述


三、mapper標(biāo)簽

mapper標(biāo)簽,它是最頂級(jí)的標(biāo)簽,也就是XML根標(biāo)簽,通過(guò)namespace屬性指定對(duì)應(yīng)的接口,比如這里指定的是:org.tg.book.dal.mapper.UserMapper,這樣接口和XML映射文件就產(chǎn)生了關(guān)聯(lián),接口通過(guò)JDK動(dòng)態(tài)代理生成實(shí)現(xiàn)類(lèi)時(shí),就會(huì)讀取XML映射文件的對(duì)應(yīng)配置!

如何配置呢?常用的XML標(biāo)簽有:

  • select標(biāo)簽(對(duì)應(yīng)寫(xiě)查詢(xún)SQL語(yǔ)句)
  • resultMap標(biāo)簽(結(jié)果映射,上文曾介紹過(guò))
  • insert標(biāo)簽(對(duì)應(yīng)寫(xiě)插入INSERT語(yǔ)句)
  • update標(biāo)簽(對(duì)應(yīng)寫(xiě)修改UPDATE語(yǔ)句)
  • delete標(biāo)簽(對(duì)應(yīng)寫(xiě)刪除DELETE語(yǔ)句)
  • sql標(biāo)簽(對(duì)應(yīng)寫(xiě)SQL語(yǔ)句,這個(gè)SQL語(yǔ)句可被其他語(yǔ)句引用的可重用的語(yǔ)句塊)

四、select標(biāo)簽

我們先刪除上文的注解方式,換成XML映射文件的方式來(lái)實(shí)現(xiàn)!

UserMapper接口方法

@Param指定參數(shù)名

public interface UserMapper {User selectByUserNamePassword(@Param("userName") String userName,@Param("password") String password);
}

這時(shí)MybatisX插件會(huì)提示一個(gè)錯(cuò)誤,把鼠標(biāo)懸浮在方法上,會(huì)提示selectByUserNamePassword方法在xml中沒(méi)有定義,我們點(diǎn)擊Generate statement

MybatisX生成接口方法對(duì)應(yīng)的xml

UserMapper.xml

這時(shí),在UserMapper.xml中會(huì)生成一個(gè)select標(biāo)簽使用id屬性指定對(duì)應(yīng)的接口方法名,使用resultType屬性指定返回類(lèi)型,如下圖:

Mybatis 生成select標(biāo)簽

這里依然有一個(gè)警告:XML tag has empty body,是因?yàn)槲覀儧](méi)有寫(xiě)對(duì)應(yīng)的查詢(xún)select語(yǔ)句SQL,我們?cè)?code>select標(biāo)簽中補(bǔ)充SQL語(yǔ)句如下:

select * from user where user_name =#{userName} and password =#{password}

SQL中的參數(shù)使用#{}作為占位符
Mybatis select sql

實(shí)際的效果與上文使用的@Select注解相同!


五、resultMap標(biāo)簽

同樣的,運(yùn)行后你會(huì)發(fā)現(xiàn)【User對(duì)象】的userId并沒(méi)有取到值,原因是【user表】的字段名叫id,而不是userId,名稱(chēng)不同所以無(wú)法獲取到對(duì)應(yīng)的值,我們通過(guò)resultMap標(biāo)簽方式解決。

定義resultMap標(biāo)簽

<resultMap id="UserMap" type="org.tg.book.dal.po.User"><id column="id" jdbcType="INTEGER" property="userId"/><result column="user_name" jdbcType="VARCHAR" property="userName"/><result column="password" jdbcType="VARCHAR" property="password"/>
</resultMap>

resultMap標(biāo)簽說(shuō)明:

  • 通過(guò)id屬性定義唯一標(biāo)識(shí),type屬性定義結(jié)果類(lèi)型
  • 通過(guò)id標(biāo)簽指定主鍵列, result標(biāo)簽指定非主鍵列
    • property指定對(duì)象的屬性名
    • column指定數(shù)據(jù)表的列名
    • jdbcType指定數(shù)據(jù)表的字段類(lèi)型

修改select標(biāo)簽

使用resultMap屬性代替了resultType屬性,resultMap屬性?xún)?nèi)指定剛定義的resultMap id名稱(chēng)。

Mybatis resultMap

實(shí)際的效果與上文使用的@Results和@Result注解相同!

OK,到這,我們就使用XML映射文件方式,完整實(shí)現(xiàn)了接口方法selectByUserNamePassword!

總結(jié)

寫(xiě)一個(gè)數(shù)據(jù)庫(kù)查詢(xún)方法,簡(jiǎn)單來(lái)說(shuō),步驟如下:

  1. 創(chuàng)建接口對(duì)應(yīng)的xml映射文件
  2. 創(chuàng)建查詢(xún)方法對(duì)應(yīng)的select標(biāo)簽
  3. 寫(xiě)查詢(xún)selec語(yǔ)句SQL
  4. 【可選】如果【數(shù)據(jù)庫(kù)字段】與【PO對(duì)象屬性】不一致,需要增加結(jié)果映射resultMap標(biāo)簽,然后在select標(biāo)簽使用resultMap屬性指定resultMap標(biāo)簽
http://www.risenshineclean.com/news/9719.html

相關(guān)文章:

  • 米粒網(wǎng)站建設(shè)商業(yè)網(wǎng)站
  • 森動(dòng)網(wǎng)網(wǎng)站建設(shè)好嗎網(wǎng)站的營(yíng)銷(xiāo)推廣方案
  • 做網(wǎng)站 建站推銷(xiāo)一個(gè)產(chǎn)品的方案
  • 一級(jí)a做爰片免費(fèi)網(wǎng)站志鴻優(yōu)化設(shè)計(jì)答案網(wǎng)
  • 鄂州網(wǎng)站開(kāi)發(fā)微信朋友圈推廣
  • 網(wǎng)站功能板塊廣州做網(wǎng)站的公司哪家好
  • 廣州做蛋糕的網(wǎng)站推廣策略可以分為哪三種
  • 臺(tái)山網(wǎng)站建設(shè)口碑營(yíng)銷(xiāo)的例子
  • 九脈堂是做網(wǎng)站的優(yōu)化大師win10
  • 東莞做營(yíng)銷(xiāo)型網(wǎng)站的關(guān)鍵詞首頁(yè)排名代發(fā)
  • 對(duì)網(wǎng)站建設(shè)的認(rèn)識(shí)百度手機(jī)
  • 手機(jī)網(wǎng)站開(kāi)發(fā)公司關(guān)鍵詞簡(jiǎn)譜
  • 東莞大朗網(wǎng)站建設(shè)湖南網(wǎng)站推廣公司
  • 如何建設(shè)網(wǎng)站 企業(yè)做一個(gè)私人網(wǎng)站需要多少錢(qián)
  • 美女做曖曖免費(fèi)視頻網(wǎng)站公司網(wǎng)站建設(shè)價(jià)格
  • 廈門(mén)本地網(wǎng)站上海網(wǎng)絡(luò)seo
  • 南京代辦公司注冊(cè)需要費(fèi)用如何優(yōu)化網(wǎng)絡(luò)延遲
  • 重慶網(wǎng)站建設(shè)哪里有推廣引流的10個(gè)渠道
  • 站長(zhǎng)工具問(wèn)答網(wǎng)站個(gè)人網(wǎng)站設(shè)計(jì)內(nèi)容
  • 企業(yè)網(wǎng)站建設(shè)的基本內(nèi)容產(chǎn)品推廣活動(dòng)策劃方案
  • 備案密碼找回seo優(yōu)化方案
  • 學(xué)做糕點(diǎn)的網(wǎng)站谷歌瀏覽器搜索引擎入口
  • 深圳企業(yè)網(wǎng)站建設(shè)價(jià)格快手作品免費(fèi)推廣軟件
  • 個(gè)性化定制服務(wù)的網(wǎng)站有哪些網(wǎng)站優(yōu)化要做哪些
  • 黃梅那里有做網(wǎng)站的seo關(guān)鍵詞排名優(yōu)化要多少錢(qián)
  • 網(wǎng)站定制 div css 手工怎么給客戶(hù)推廣自己的產(chǎn)品
  • 高端網(wǎng)站建設(shè)知識(shí)他達(dá)那非副作用太強(qiáng)了
  • 服務(wù)好的成都網(wǎng)站建設(shè)競(jìng)價(jià)托管運(yùn)營(yíng)哪家好
  • 蘇州正規(guī)網(wǎng)站制作公司關(guān)鍵詞排名推廣怎么做
  • 建設(shè)網(wǎng)站的意義 作用seo計(jì)費(fèi)系統(tǒng)開(kāi)發(fā)