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

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

描述政府網(wǎng)站網(wǎng)站建設(shè)seo推廣網(wǎng)絡(luò)

描述政府網(wǎng)站網(wǎng)站建設(shè),seo推廣網(wǎng)絡(luò),wordpress如何上傳案例,東莞附近公司做網(wǎng)站建設(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ā)方式&…

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é)省代碼,從而讓我們更專注于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,如下圖:

在這里插入圖片描述

要求:路徑相同,名稱相同。

不同行不行?可以通過(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)類時(shí),就會(huì)讀取XML映射文件的對(duì)應(yīng)配置!

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

  • select標(biāo)簽(對(duì)應(yīng)寫(xiě)查詢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屬性指定返回類型,如下圖:

Mybatis 生成select標(biāo)簽

這里依然有一個(gè)警告:XML tag has empty body,是因?yàn)槲覀儧](méi)有寫(xiě)對(duì)應(yīng)的查詢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,名稱不同所以無(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é)果類型
  • 通過(guò)id標(biāo)簽指定主鍵列, result標(biāo)簽指定非主鍵列
    • property指定對(duì)象的屬性名
    • column指定數(shù)據(jù)表的列名
    • jdbcType指定數(shù)據(jù)表的字段類型

修改select標(biāo)簽

使用resultMap屬性代替了resultType屬性,resultMap屬性內(nèi)指定剛定義的resultMap id名稱。

Mybatis resultMap

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

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

總結(jié)

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

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

相關(guān)文章:

  • 淘寶網(wǎng)站怎么做適配seo專員的工作內(nèi)容
  • 商業(yè)網(wǎng)站建設(shè)規(guī)劃范文招商外包
  • 濟(jì)南有哪些網(wǎng)站是做家具團(tuán)購(gòu)的2023第二波疫情已經(jīng)到來(lái)了嗎
  • 衡陽(yáng)做網(wǎng)站的挖掘愛(ài)站網(wǎng)
  • 找什么人做公司網(wǎng)站小小課堂seo自學(xué)網(wǎng)
  • 南寧網(wǎng)站建設(shè)推廣優(yōu)化種子搜索引擎torrentkitty
  • 中國(guó)農(nóng)村建設(shè)網(wǎng)站關(guān)于進(jìn)一步優(yōu)化
  • 網(wǎng)站開(kāi)發(fā)語(yǔ)言是什么網(wǎng)站制作app免費(fèi)軟件
  • 吉林省軟環(huán)境建設(shè)辦公室網(wǎng)站百度快速排名點(diǎn)擊器
  • 企業(yè)管理系統(tǒng)項(xiàng)目經(jīng)理招聘seo優(yōu)化排名易下拉效率
  • 中企動(dòng)力做的網(wǎng)站容易SEO嗎投放廣告的網(wǎng)站
  • 那些網(wǎng)站企業(yè)可以免費(fèi)展示輕松seo優(yōu)化排名
  • 如何做虛擬幣交易網(wǎng)站外貿(mào)推廣如何做
  • 做經(jīng)營(yíng)性網(wǎng)站需要哪些東西搜狗站長(zhǎng)推送工具
  • 二手的家具哪個(gè)網(wǎng)站做的好濟(jì)南新聞?lì)^條最新事件
  • 網(wǎng)站設(shè)計(jì)的能力要求哈爾濱新聞?lì)^條今日新聞
  • 暴雪退款申請(qǐng)快速入口seo 0xu
  • 西安成品網(wǎng)站建設(shè)怎么打廣告吸引客戶
  • 免費(fèi)設(shè)計(jì)海報(bào)網(wǎng)站seo優(yōu)化網(wǎng)站
  • 北京建設(shè)網(wǎng)站網(wǎng)站上海做seo的公司
  • 網(wǎng)站版塊設(shè)計(jì)廣告營(yíng)銷
  • 沒(méi)有主機(jī)怎么做自己的網(wǎng)站西安網(wǎng)站seo哪家公司好
  • 福建省建設(shè)工程招投標(biāo)信息網(wǎng)優(yōu)化大師會(huì)員兌換碼
  • 怎么做網(wǎng)站統(tǒng)計(jì)流量寶官網(wǎng)
  • 網(wǎng)站設(shè)計(jì)與建設(shè)的2345瀏覽器影視大全
  • 網(wǎng)站如何做視頻鏈接地址個(gè)人友情鏈接推廣
  • 谷城網(wǎng)站快速排名百度競(jìng)價(jià)排名醫(yī)院事件
  • 淄博市 網(wǎng)站建設(shè)報(bào)價(jià)大一html網(wǎng)頁(yè)制作作業(yè)簡(jiǎn)單
  • 黃岡網(wǎng)站建設(shè)有哪些seo代理計(jì)費(fèi)系統(tǒng)
  • 浙江平板網(wǎng)站建設(shè)關(guān)鍵詞搜索排名