国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > 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)大在于它的語句映射,它提供了注解和XML映射文件兩種開發(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)大在于它的語句映射,它提供了注解和XML映射文件兩種開發(fā)方式,都是為了減少我們的使用成本,屏蔽JDBC代碼細(xì)節(jié),節(jié)省代碼,從而讓我們更專注于SQL代碼!

通過 《上文》,我們學(xué)會(huì)了常用12種注解開發(fā),本文主要講解XML映射文件方式開發(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,如下圖:

在這里插入圖片描述

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

不同行不行?可以通過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映射文件之間來回跳轉(zhuǎn)!以及可以生成標(biāo)簽

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

在這里插入圖片描述


三、mapper標(biāo)簽

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

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

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

四、select標(biāo)簽

我們先刪除上文的注解方式,換成XML映射文件的方式來實(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中沒有定義,我們點(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)槲覀儧]有寫對(duì)應(yīng)的查詢select語句SQL,我們?cè)?code>select標(biāo)簽中補(bǔ)充SQL語句如下:

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并沒有取到值,原因是【user表】的字段名叫id,而不是userId,名稱不同所以無法獲取到對(duì)應(yīng)的值,我們通過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)簽說明:

  • 通過id屬性定義唯一標(biāo)識(shí),type屬性定義結(jié)果類型
  • 通過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é)

寫一個(gè)數(shù)據(jù)庫查詢方法,簡(jiǎn)單來說,步驟如下:

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

相關(guān)文章:

  • 淘寶網(wǎng)站怎么做適配seo專員的工作內(nèi)容
  • 商業(yè)網(wǎng)站建設(shè)規(guī)劃范文招商外包
  • 濟(jì)南有哪些網(wǎng)站是做家具團(tuán)購的2023第二波疫情已經(jīng)到來了嗎
  • 衡陽做網(wǎng)站的挖掘愛站網(wǎng)
  • 找什么人做公司網(wǎng)站小小課堂seo自學(xué)網(wǎng)
  • 南寧網(wǎng)站建設(shè)推廣優(yōu)化種子搜索引擎torrentkitty
  • 中國農(nóng)村建設(shè)網(wǎng)站關(guān)于進(jìn)一步優(yōu)化
  • 網(wǎng)站開發(fā)語言是什么網(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)營性網(wǎ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ì)廣告營銷
  • 沒有主機(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è)簡(jiǎn)單
  • 黃岡網(wǎng)站建設(shè)有哪些seo代理計(jì)費(fèi)系統(tǒng)
  • 浙江平板網(wǎng)站建設(shè)關(guān)鍵詞搜索排名