日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Mybatis实现多表关联多条件查询

發(fā)布時(shí)間:2024/10/5 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mybatis实现多表关联多条件查询 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第一種實(shí)現(xiàn)方式:

1.在實(shí)體類中添加需要展示的但在數(shù)據(jù)庫表結(jié)構(gòu)中字段

?

2.在mapper.xml的

<result column="project_name" jdbcType="VARCHAR" property="projectName" />定義需要展示的列

3.在SQL中關(guān)聯(lián)查詢即可

<select id="selectByMap" resultType="com.apply.ism.entity.MaterialInfo">SELECT m.id,m.title,c.company,c.hierarchy,m.score,l.file_path,t.project_name,t.contents,m.file_id FROM material_info mLEFT JOIN company c ON m.company_id=c.id AND c.data_state='Normal'LEFT JOIN t_system t ON m.evaluation_id=t.id AND m.data_state='Normal'LEFT JOIN file_message l ON l.id=m.file_id AND l.data_state='Normal'<where>m.data_state='Normal'<if test="nd != null and nd !=''">AND t.nd=#{nd}</if><if test="projectName != null and projectName !='' and projectName != 'null'">AND t.project_name=#{projectName}</if></where> </select>

4.在mapper.java 中編寫代碼:

List<MaterialInfo> selectByMap(String nd,String projectName);
?

第二種實(shí)現(xiàn)方法:

不需要在實(shí)體類添加屬性,也不需要在<result column="project_name" jdbcType="VARCHAR" property="projectName" />定義列

?

1.在SQL中關(guān)聯(lián)查詢

?

<select id="getSurveyInfoList" resultType="java.util.Map">SELECT s.companyid,s.yz_code,c.company,s.survey_name,s.start_time,s.end_time,s.qr_code FROM survey_info s JOIN company c ON s.companyid=c.idWHERE 1 = 1 AND s.data_state = 'Normal'<if test="param1 != null and param1 !=''">AND c.company LIKE CONCAT('%',#{param1},'%')</if><if test="param2 != null and param2 > 0">AND s.companyid=#{param2}</if>

2.在mapper.java 中編寫代碼:

?

List<Map<String, Object>> getSurveyInfoList(String dwmc, Long id);

?

總結(jié)

以上是生活随笔為你收集整理的Mybatis实现多表关联多条件查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。