日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Mybatis一對多延遲加載實現(xiàn)代碼解析

瀏覽:102日期:2023-10-22 08:20:41

需求:一個用戶可以有多個賬戶,查詢用戶時實現(xiàn)賬戶的延遲加載

1、用戶實體類

package com.yl.bean;import java.io.Serializable;import java.sql.Date;import java.util.List;/** * 用戶實體類 */public class User implements Serializable { private Integer id;//id private String username;//用戶名 private Date birthday;//生日 private String sex;//性別 private String address;//地址 private List<Account> accountList;//用戶所擁有的賬戶 public User() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public List<Account> getAccountList() { return accountList; } public void setAccountList(List<Account> accountList) { this.accountList = accountList; } @Override public String toString() { return 'User{' +'id=' + id +', username=’' + username + ’’’ +', birthday=' + birthday +', sex=’' + sex + ’’’ +', address=’' + address + ’’’ +’}’; }}

2、賬戶實體類

package com.yl.bean;import java.io.Serializable;/** * 賬戶實體類 */public class Account implements Serializable { private Integer id;//賬戶id private Integer uid;//用戶id private Double money;//余額 private User user;//賬戶所屬用戶 public Account() { } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public Integer getUid() { return uid; } public void setUid(Integer uid) { this.uid = uid; } public Double getMoney() { return money; } public void setMoney(Double money) { this.money = money; } public User getUser() { return user; } public void setUser(User user) { this.user = user; } @Override public String toString() { return 'Account{' +'id=' + id +', uid=' + uid +', money=' + money +’}’; }}

3、用戶持久層接口

package com.yl.dao;import com.yl.bean.User;import java.util.List;/** * 用戶持久層接口 */public interface IUserDao { /** * 查詢所有用戶 */ List<User> queryAll(); /** * 根據(jù)id查詢用戶 */ User queryById(int id);}

4、賬戶持久層接口

package com.yl.dao;import com.yl.bean.Account;import com.yl.bean.User;import java.util.List;/** * 賬戶持久層接口 */public interface IAccountDao { /** * 查詢所有賬戶 */ List<Account> queryAll(); /** * 根據(jù)用戶id查詢賬戶 */ List<Account> queryByUid(int uid);}

5、全局配置文件

<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE configuration PUBLIC '-//mybatis.org//DTD Config 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-config.dtd'><configuration> <settings> <!--開啟延遲加載--> <setting name='lazyLoadingEnabled' value='true'/> <setting name='aggressiveLazyLoading' value='false'/> </settings> <!--配置別名--> <typeAliases> <package name='com.yl.bean'/> </typeAliases> <!--配置mybatis環(huán)境--> <environments default='mysql'> <!--配置mysql環(huán)境--> <environment id='mysql'> <!--事務類型--> <transactionManager type='JDBC'></transactionManager> <!--數(shù)據(jù)源--> <dataSource type='POOLED'><property name='driver' value='com.mysql.cj.jdbc.Driver'/><property name='url' value='jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf8&amp;serverTimezone=GMT%2B8'/><property name='username' value='root'/><property name='password' value='123456'/> </dataSource> </environment> </environments> <!--指定映射配置文件位置--> <mappers> <mapper resource='IUserDao.xml'></mapper> <mapper resource='IAccountDao.xml'></mapper> </mappers></configuration>

6、用戶映射配置文件

<?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='com.yl.dao.IUserDao'> <!--配置用戶實體類和數(shù)據(jù)庫的對應信息--> <resultMap type='com.yl.bean.User'> <id property='id' column='id'></id> <result property='username' column='username'></result> <result property='birthday' column='birthday'></result> <result property='sex' column='sex'></result> <result property='address' column='address'></result> <!--根據(jù)id查詢賬戶--> <collection property='accountList' ofType='com.yl.bean.Account' select='com.yl.dao.IAccountDao.queryByUid' column='id'></collection> </resultMap> <!--查詢所有用戶--> <select resultMap='userMap'> SELECT * FROM USER </select> <!--根據(jù)id查詢用戶--> <select resultType='user' parameterType='int'> select * from user where id=#{id} </select></mapper>

7、賬戶映射配置文件

<?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='com.yl.dao.IAccountDao'> <!--配置Account屬性對應數(shù)據(jù)庫信息--> <resultMap type='account'> <id property='id' column='id'></id> <result property='uid' column='uid'></result> <result property='money' column='money'></result> <!--通過id查詢用戶--> <association property='user' column='uid' javaType='user' select='com.yl.dao.IUserDao.queryById'></association> </resultMap> <!--查詢所有賬戶--> <select resultMap='accountUserMap'> SELECT * FROM account </select> <!--根據(jù)用戶id查詢賬戶--> <select resultType='account' parameterType='int'> select * from account where uid=#{uid} </select></mapper>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产欧美一区二区三区精品观看| 国产精品久久| 午夜国产欧美理论在线播放 | 国产精品一区二区中文字幕| 国产毛片久久| 久久亚洲电影| 99国产精品久久久久久久| 五月天激情综合网| 视频在线观看91| 99热精品在线| 国产色噜噜噜91在线精品| 国产精品一区二区免费福利视频| 国产精品超碰| 精品一二三区| 久久久五月天| 免费看日韩精品| 国产欧美一区二区色老头| 国产极品模特精品一二| 亚洲福利一区| 欧美欧美黄在线二区| 日韩免费小视频| 美美哒免费高清在线观看视频一区二区| 日本欧美韩国一区三区| 韩国女主播一区二区三区| 激情综合网址| 国产欧美日韩精品一区二区免费| 国产高清精品二区| 欧美日韩在线播放视频| 国产手机视频一区二区| 国产日韩中文在线中文字幕 | 国产亚洲精品v| 精品久久国产一区| 久久不射中文字幕| 成人午夜亚洲| 中文无码久久精品| 色爱综合网欧美| 视频一区二区三区中文字幕| 精品三级在线| 国产精品88久久久久久| 欧美精品福利| 亚洲午夜视频| 国产传媒在线观看| 麻豆精品新av中文字幕| 美女国产一区| 99久精品视频在线观看视频| 欧美偷窥清纯综合图区| 黄色日韩在线| 欧美国产亚洲精品| 美女91精品| 欧美成人基地| 国产日韩欧美一区在线| 视频一区二区三区在线| 日本国产精品| 久久国产生活片100| 国产精品av久久久久久麻豆网| 成人国产精品久久| 日韩国产在线观看| 久久蜜桃精品| 国产精品久久久久毛片大屁完整版| 欧美日韩国产在线一区| 亚洲一级二级| 成人羞羞视频播放网站| 精品视频免费| 日本欧美一区二区在线观看| 美女黄网久久| 久久精品99国产精品日本| 亚洲乱码一区| 国产精品啊v在线| 国产成人1区| 国产图片一区| sm捆绑调教国产免费网站在线观看| 国产剧情一区| 国产精品久久久久久久久久久久久久久| 亚洲精品在线二区| 国产精品视频一区二区三区| 99亚洲视频| 免费不卡在线视频| 国产精品亚洲欧美| 国产精品免费99久久久| 亚洲欧美久久精品| 亚洲精品日本| 日韩精品第一| 综合日韩av| 色在线视频观看| 国内自拍视频一区二区三区| 捆绑调教日本一区二区三区| 不卡中文字幕| 欧美中文高清| 日韩大片免费观看| 国产高清一区二区| 欧美综合精品| 影院欧美亚洲| 91亚洲自偷观看高清| 日本高清不卡一区二区三区视频| 欧美手机在线| 国产亚洲久久| 麻豆成全视频免费观看在线看| 欧美日韩三区| 日本v片在线高清不卡在线观看| 亚洲尤物在线| 另类小说一区二区三区| 欧美+日本+国产+在线a∨观看| 偷拍亚洲精品| 亚洲午夜久久久久久尤物 | 日韩一区二区中文| 免费人成精品欧美精品| 国模大尺度视频一区二区| 亚洲精品一级二级| 国产情侣一区在线| 激情综合激情| 国产精品日本一区二区三区在线| 亚洲国产专区| 日韩高清三区| 亚洲一区日本| 午夜精品婷婷| 欧美不卡高清一区二区三区| 国产精品免费精品自在线观看| 悠悠资源网久久精品| 日韩毛片在线| 国产在线观看www| 国产精品黄网站| 日韩动漫一区| 国产模特精品视频久久久久| 婷婷激情一区| 国产一区二区三区久久| 精品欠久久久中文字幕加勒比| 亚洲欧美一级| 欧美不卡视频| 免费av一区| 亚洲一级在线| 日本综合视频| 婷婷综合电影| 亚洲精品第一| 亚洲日本在线观看视频| 中文亚洲免费| 免费在线视频一区| 国产亚洲一区在线| 在线综合亚洲| 日韩免费精品| 国产毛片精品| 91视频久久| 成人看片网站| 久久人人97超碰国产公开结果| 欧美少妇精品| 妖精视频成人观看www| 一本色道精品久久一区二区三区| 久久精品亚洲人成影院| av高清一区| 亚洲精品电影| 欧洲毛片在线视频免费观看| 亚洲午夜精品久久久久久app| 国产婷婷精品| 精品国产中文字幕第一页 | 欧美一区成人| 久久中文亚洲字幕| 偷拍欧美精品| 性一交一乱一区二区洋洋av| 丝袜亚洲另类欧美| 日本成人在线不卡视频| 久久三级中文| 欧美精品一区二区久久| 日本成人一区二区| 91精品蜜臀一区二区三区在线| 影音先锋国产精品| 欧美一级全黄| 肉色欧美久久久久久久免费看 | 免费在线欧美视频| 国产v日韩v欧美v| 久久久久国产| 日本不卡一区二区三区| 一区免费在线| 国产日韩一区二区三区在线| 黄在线观看免费网站ktv| 日韩1区2区3区| 欧美日韩国产在线观看网站| 国产一区二区三区探花| 蜜桃视频在线观看一区二区| 欧美成人一二区| 国产精品chinese| 亚洲欧美日韩在线观看a三区| 国产精品99一区二区| 欧美日韩精品在线一区| 久久精品午夜| 国产精品久久久久毛片大屁完整版| 韩日一区二区三区| 国产aⅴ精品一区二区三区久久| 一区二区三区国产在线| 亚洲v天堂v手机在线| 丝瓜av网站精品一区二区 | 影院欧美亚洲| 国产一区二区三区不卡视频网站 | 久久中文字幕av一区二区不卡| 国产精品亚洲片在线播放| 蜜臀久久99精品久久久久宅男 | 国产精品久久久久久久久久白浆| 日韩免费av| 国产伦乱精品| 五月激激激综合网色播| 午夜精品成人av| 久久国内精品|