温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ibatis级联如何解决登录系统问题

发布时间:2021-07-14 16:16:34 来源:亿速云 阅读:120 作者:chen 栏目:编程语言

这篇文章主要讲解了“ibatis级联如何解决登录系统问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“ibatis级联如何解决登录系统问题”吧!

最近在搞登录系统,可是原先历史上完成的开发并没有引用hibernate,而是加入了ibatis ,这方面我以前未接触过,前几天需要完成的逻辑还比较简单,但是今天做到注册缓解的时候涉及到密码提示问题,而原先的登录系统是将question表与user表分开,这就涉及到了ibatis 级联的处理了。为了能够使用user.getQuestion,我们需要做一些配置:

在user.ibatis.xml 中设置

<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 集合所需要的数据从getUser 里拿。
其实应该这么说,在getUser查完数据库将数据映射成user_result 格式,而user_result的column 即为getUser as 后面的部分,名称需一致 而大小写无所谓,好像ibatis级联对大小写不敏感。

测试:
public void testXXXXXXXXX() throws Exception {
String userName = "x@x.com";
User user = users.findByName(userName);
System.out.println(user.getUserQuestion().getQuestion());
}
以此类推,我们就可以通过ibatis级联来解决登录系统中的一对多和多对一的问题了。

感谢各位的阅读,以上就是“ibatis级联如何解决登录系统问题”的内容了,经过本文的学习后,相信大家对ibatis级联如何解决登录系统问题这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI