溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

ibatis級聯(lián)如何解決登錄系統(tǒng)問題

發(fā)布時(shí)間:2021-07-14 16:16:34 來源:億速云 閱讀:119 作者:chen 欄目:編程語言

這篇文章主要講解了“ibatis級聯(lián)如何解決登錄系統(tǒng)問題”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“ibatis級聯(lián)如何解決登錄系統(tǒng)問題”吧!

最近在搞登錄系統(tǒng),可是原先歷史上完成的開發(fā)并沒有引用hibernate,而是加入了ibatis ,這方面我以前未接觸過,前幾天需要完成的邏輯還比較簡單,但是今天做到注冊緩解的時(shí)候涉及到密碼提示問題,而原先的登錄系統(tǒng)是將question表與user表分開,這就涉及到了ibatis 級聯(lián)的處理了。為了能夠使用user.getQuestion,我們需要做一些配置:

在user.ibatis.xml 中設(shè)置

<sqlMap namespace="User">     <typeAlias alias="user" type="com.gh.passport.domain.User" />     <typeAlias alias="question" type="com.gh.passport.domain.Question" />           <resultMap id="user_result" class="com.gh.passport.domain.User">         <result property="id" column="ID" />         <result property="name" column="NAME" />         <result property="password" column="PASSWORD" />         <result property="answer" column="ANSWER" />         <result property="email" column="EMAIL" />         <result property="token" column="TOKEN" />         <result property="userQuestionId" column="USERQUESTION_ID" select="getQuestionById1" />     resultMap>       <select id="getUser" parameterClass="String" resultMap="user_result">         SELECT               ID        as id,               NAME      as name,               PASSWORD  as password,              USERQUESTION_ID  as userQuestion_Id,              ANSWER   as answer,                     FROM USERS          WHERE trim(lower(NAME)) = trim(lower(#name#))      select>  <select id="getQuestionById1" parameterClass="Long"  resultClass="question">         SELECT USERQUESTION_ID as id,           QUESTION as question           FROM USERQUESTION          where USERQUESTION_ID = #id#      select> sqlmap>

user_result        為result_map供select id="getUser" 使用user_result 集合所需要的數(shù)據(jù)從getUser 里拿。
其實(shí)應(yīng)該這么說,在getUser查完數(shù)據(jù)庫將數(shù)據(jù)映射成user_result 格式,而user_result的column 即為getUser as 后面的部分,名稱需一致 而大小寫無所謂,好像ibatis級聯(lián)對大小寫不敏感。

測試:
public void testXXXXXXXXX() throws Exception {
String userName = "x@x.com";
User user = users.findByName(userName);
System.out.println(user.getUserQuestion().getQuestion());
}
以此類推,我們就可以通過ibatis級聯(lián)來解決登錄系統(tǒng)中的一對多和多對一的問題了。

感謝各位的閱讀,以上就是“ibatis級聯(lián)如何解決登錄系統(tǒng)問題”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對ibatis級聯(lián)如何解決登錄系統(tǒng)問題這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI