联表实现回显功能
1.找到这个页面是哪条selection实现的
比如主页面,肯定是不带where条件的整体的sql语句实现的
我这里实现借阅记录中user的nickName的回显
我们在前端date里已经实现了接收了借阅记录的信息存储到recordList:[ ]里
现在只需要进行联表查询即可获得user的nickName属性
2.在BookRecord类里添加User对象
public class BookRecord extends BaseEntity{...private SysUser user;public SysUser getUser() {return user;}public void setUser(SysUser user) {this.user = user;}...
}
3.在bookmapper.xml实现联表查询
<mapper namespace="com.ruoyi.system.mapper.BorrowRecordMapper"><resultMap type="BorrowRecord" id="BorrowRecordResult"><result property="borrowId" column="borrow_id" /><result property="borrowNumber" column="borrow_number" /><result property="borrowUser" column="borrow_user" /><result property="borrrowDate" column="borrrow_date" /><result property="planBackDate" column="plan_back_date" /><association property="user" javaType="com.ruoyi.common.core.domain.entity.SysUser"><result property="nickName" column="nick_name"/></association></resultMap><resultMap id="BorrowRecordBorrowRecordInfoResult" type="BorrowRecord" extends="BorrowRecordResult"><collection property="borrowRecordInfoList" ofType="BorrowRecordInfo" column="borrow_id" select="selectBorrowRecordInfoList" /></resultMap><resultMap type="BorrowRecordInfo" id="BorrowRecordInfoResult"><result property="biId" column="bi_id" /><result property="biBid" column="bi_bid" /><result property="biBcount" column="bi_bcount" /><result property="brId" column="br_id" /><result property="biStatus" column="bi_status" /><association property="book" javaType="com.ruoyi.system.domain.Book"><result property="id" column="id"/><result property="name" column="name"/></association></resultMap><sql id="selectBorrowRecordVo">select a.borrow_id, a.borrow_number, a.borrow_user, a.borrrow_date, a.plan_back_date,b.nick_name from t_borrow_record a left join sys_user b on a.borrow_user = b.user_id</sql><select id="selectBorrowRecordList" parameterType="BorrowRecord" resultMap="BorrowRecordResult"><include refid="selectBorrowRecordVo"/><where> <if test="borrowNumber != null and borrowNumber != ''"> and borrow_number = #{borrowNumber}</if><if test="borrowUser != null "> and borrow_user = #{borrowUser}</if><if test="borrrowDate != null "> and borrrow_date = #{borrrowDate}</if><if test="planBackDate != null "> and plan_back_date = #{planBackDate}</if><if test="user != null and user.nickName != null and user.nickName !=''"> and nick_name = #{user.nickName}</if></where></select>
注意写这句的时候一定要加user != null,否则如果你不写非空字段的话,会报user为空的错,其实里面有值,但是加上的话就能骗过编译器
<if test="user != null and user.nickName != null
and user.nickName !=''"> and nick_name = #{user.nickName}</if>
4.重启后端查看网络
可以看到表单已经有张三了
5.前端页面回显
只需在prop属性放入user.nickName即可
<el-table-column label="借阅人" align="center" prop="user.nickName" />
。。如果是修改页面回显的话,在修改函数里操作即可
最后实现回显