1. 程式人生 > >easyUI(七) -- SSM+easyUI 級聯模糊查詢

easyUI(七) -- SSM+easyUI 級聯模糊查詢

使用 Mybatis 持久化框架 , 最大的重點難點在於 SQL 語句的書寫 , 一般只要在資料庫操作成功的 SQL 語句 , 想要實現某個功能就不難 .
但是這個級聯模糊查詢在資料庫可以查出外來鍵表資料 , 但是用框架就不行 , 以後想到了好的解決辦法再給出其他方案 .

<select id="queryAllByLike" parameterType="String" resultType="user">
        SELECT users.userid,users.username,users.sex,users.phonenum,users.remark,depts.deptname
FROM users inner JOIN depts ON users.deptid = depts.deptid where depts.deptname like CONCAT('%',#{deptname},'%') and users.isdel=1 </select>

注意查詢 SQL 語句最好不要使用 * 號 , 因為後臺解析的 * 需要消耗資源 , 以後資料庫擴充套件了其他欄位 , 但是你並不想使用的話 , 也會有大量資源浪費 . insert 語句同理

action 操作

    @RequestMapping("queryallbylike"
) @ResponseBody public Object queryAllByLike(){ return listUser; } @RequestMapping("toquerylike") public String toQueryLike(String deptname){ if(deptname==null){ deptname=""; } //取出前端傳過來的逗號 deptname = deptname.replaceAll(","
, ""); listUser = userService.queryAllByLike(deptname); return "user/userListLike"; }

這裡做了一個巧妙的轉換 . 因為如果你直接呼叫 queryAllByLike 方法 , 他會讓你從前臺傳入一個引數作為查詢條件 , 但是我們知道 easyui 在頁面顯示 JSON 格式資料的時候是通過 url 的 , 如果你要給要顯示資料的 url 動態傳值十分不方便 , 所以在跳轉頁面的時候就把查詢條件傳過去並獲得查詢的 list , 顯示的時候就只需要傳入一個不帶引數的 url 就行了
toQueryLike 方法按條件查出 user 的 list 集合 , 並跳轉到 user/userListLike .jsp 然後 user/userListLike .jsp 獲取 queryAllByLike 的 json 資料
這是我的 Table 標籤

<table id="tt" title="Load Data" class="easyui-datagrid" style="width:550px;height:250px"
            data-options="url:'${pageContext.request.contextPath}/user/queryallbylike',rownumbers:'true',
            pagination:true,toolbar:'#tb',iconCls:'icon-save',fitColumns:'true',fit:true,multiple:'false',pageList:[2,5,10,20]">

我們也可以不通過主鍵(deptname)欄位模糊查 , 直接使用 user 表引用 dept 表的外來鍵 id deptid 查
SQL語句

SELECT * FROM  clients WHERE isdel=1 AND userid=#{users.userid}

action 程式碼

    @ResponseBody
    @RequestMapping("queryallbylike")
    public Object queryAllByLike(){
        return listClient;
    }

    @RequestMapping("toquerylike")
    public String toQueryLike(int userid){
        listClient = clientsService.queryAllByLike(userid);
        return "client/clientListLike";
    }

頁面程式碼

$(function(){
     chooseUser();
})
function chooseUser(){
            $("#getUserid").combobox({
                url:'${pageContext.request.contextPath}/user/queryalluser',
                valueField:'userid',
                textField:'username'
            });
        }
        function queryClientLike(){
            var userid = $('#getUserid').combobox('getValue');
            alert(userid);
            location = "${pageContext.request.contextPath}/client/toquerylike?userid="+userid;
        }
        <span>所屬員工:</span> <input id="getUserid" style="line-height: 20px; border: 1px solid #ccc"> 

這種方法可以通過下拉框選擇你要匹配的外來鍵欄位 , 但是傳過去的是一個 id . 而且我們就不用傳 String 型別的資料到後臺了 , 當然也就不用擔心沒有用 form 表單提交的亂碼問題

相關推薦

easyUI() -- SSM+easyUI 模糊查詢

使用 Mybatis 持久化框架 , 最大的重點難點在於 SQL 語句的書寫 , 一般只要在資料庫操作成功的 SQL 語句 , 想要實現某個功能就不難 . 但是這個級聯模糊查詢在資料庫可以查出外來鍵表資料 , 但是用框架就不行 , 以後想到了好的解決辦法再給

OpenCV學習筆記(二十六)——小試SVM演算法ml OpenCV學習筆記(二十)——基於分類器的目標檢測objdect OpenCV學習筆記(二十八)——光流法對運動目標跟蹤Video Ope

OpenCV學習筆記(二十六)——小試SVM演算法ml  總感覺自己停留在碼農的初級階段,要想更上一層,就得靜下心來,好好研究一下演算法的東西。OpenCV作為一個計算機視覺的開源庫,肯定不會只停留在數字影象處理的初級階段,我也得加油,深入研究它的演算法庫。就從ml入手

SSM框架mapper.xml模糊查詢語句

模糊 兩種 模糊查詢 進行 行數 like style center ssm SSM框架mapper.xml模糊查詢語句 在用SSM框架時,如果想要實現模糊查詢,可以在mapper.xml文件中進行數據庫語句的書寫,方法有很多種,在這裏我選擇了兩種介紹: 方法1:

easyUI框架下使用下拉框的查詢

在使用easyui框架中,我們需要用到一個涉及很多表的的級聯查詢,傳統的做法是,先通過ajax拿到選中的id去資料庫查詢相應的list資料,然後再ajax的success方法中appendTo到下一個下拉框中,但這次我們使用easyUI,其實原理都是相同的,只是easyUI

easyui combobox 三級 input 兩種實現

data edit pat adc inpu idt cts wid req /**<img src=‘${pageContext.request.contextPath}/images/block.png‘/> * @param 默認載入 省市 */

Easyui 實現智能模糊查詢(智能檢索)

easyui 實現智能模糊查詢js代碼: <input id="proBidSectionone" name="proBidSectionone" value="">重點://工作標段模糊查詢 $("#proBidSectionone").combobox({ valueFie

jquery-easyui元件combobox模糊查詢在IE中資料太多導致瀏覽器崩潰

       由於combobox模糊查詢是吧原來的所有下拉的選項首先全部隱藏,然後再根據使用者輸入的值來判斷,如果正確,則顯示出來,本人測試1000條資料的時候在火狐裡並沒有問題,可是在IE8卻導致瀏覽器十分緩慢,經常導致瀏覽器奔潰。由於

easyui combotree模糊查詢 , combobox模糊查詢

/** * combobox和combotree模糊查詢 */ (function(){ //combobox可編輯,自定義模糊查詢 $.fn.combobox.defaults.editable = true; $.fn.combobox.defau

HQL查A表 A、B兩表,B表查詢條件是C表模糊查詢條件的結果

表單文字要實現模糊查詢,假設表單文字框name為putName ; 假設A表有id欄位和putname 欄位(對應表單putName ),判斷B表關聯C表的objectName欄位(假設關聯欄位為bcLink) 是否和A表的id欄位相同? if (map.get

easyUI tree 多選框設定是否選中

今天測試提出一個 bug,找了半天是因為easyUI的tree樹前的多選框級聯選中造成的;找了半天,終於取消了預設的級聯關係 var treeUrl = 路徑 treeManager.tree({checkbox:true,cascadeCheck:false,lines:true,

EasyUI學習之Combobox(下拉列表)(二)

1. html程式碼 <fieldset> <legend>資訊查詢</legend> <div style="white-space: nowrap; padding: 5px;">

jQuery easyUI combobox下拉框 聯動

新做了一個下拉框聯動的小功能,網上找的是省市級聯,之前也套用了,這次是自定義的一個級聯,相當於父子關係,有如下兩張表: 表A: (分類表)(相當於主選單) 表B: (目錄表)(相當於子選單) 注

EasyUI——combobox

Easy UI的combobox實現省市縣的級聯選擇 js部分: <script type="text/javascript"> $(function(){ var province = $("#province").combobox({ valu

EasyUI--combotree模糊查詢

<head> <meta charset="utf-8" /> <title>EASY_UI搜尋框</title> </head> <script src="jquery-easyui-1.5.

EasyUI下拉框實現多選、全選、複選和模糊查詢

其實整個的思路還是很麻煩的。之前網上查不到能囊括上面所有東西的。但是參考之後還是摸出了一種新的方法,但是仍然不完美。畢竟是在封裝的東西上面修改。程式碼實現:<!DOCTYPE html> <html lang="en"> <head&g

關於通過easyui對mysql的模糊查詢以及按時間段查詢的個人見解

建表是使用easyui的datagrid來顯示查詢mysql的結果,系統是基於SSH框架建立 先來張圖看看介面 1、自定義easyui datagrid的工具欄 <div id="toolbar"> 查詢條件:      <input id

EasyUI treegrid勾選或深度勾選擴充套件:兩種擴充套件

treegrid沒有級聯勾選,要用怎麼辦?自己擴充套件唄~ 先明確兩個概念: 1、級聯勾選:不包括未載入的子節點 2、深度級聯勾選:包括未載入的子節點 兩種思路: 1、擴充套件個新方法cascadeCheck,當需要進行級聯勾選時,呼叫該方法進行級聯勾選或不

使用postgre數據庫實現樹形結構表的子-父叠代查詢,通過菜單簡單舉例

with 兼容 rep blank 增刪改 結果 關系型 mssq word 前言:開發常用的關系型數據庫MySQL,mssql,postgre,Oracle,簡單的增刪改查的SQL語句都與標準SQL兼容,這個不用講,那麽對於叠代查詢(不嚴格的叫法:遞歸查詢)每種數據庫都不

mybatis查詢,分步查詢和延遲加載

enabled 4.2 res 標簽 mapper last pac mes 方式 級聯查詢: 1.Employee表: id;lastName;email; gender;d_id(外鍵關聯Department的ID) 2.Department表: id;deptNa

Mybatis查詢

username tac 實現 數據 配置 級聯查詢 builder java 3.0 轉自:http://blog.csdn.net/yulei_qq/article/details/22039815 工程的目錄結構: 有兩個表,一個文章表article ,一個用戶表u