16.12.9 使用者管理專案——部門顯示與查詢

weixin_34120274發表於2016-12-09

一、部門顯示

2043169-a2d1132fec1bdd31.png
效果圖

實現步驟:

  • User.class


    2043169-4a37077ee6796653.png
    User.class
  • Dept.class


    2043169-ed9994240054cf31.png
    Dept.class

    1、User.hbm.xml配置

注意,這裡沒有新增cascade

2043169-651b6fab21cc6783.png
User.hbm.xml

2、Dept.hbm.xml配置

加上級聯和多方維護

2043169-58b96b616adeb024.png
Dept.hbm.xml

3、新增使用者介面


2043169-50e8998c82112fa1.png
add.jsp

此處的dept.did極為重要,是指User類裡面dept物件裡面的did屬性,關係到資料庫中t_user表的did欄位

<s:select list="listDept" name="dept.did" listKey="did" listValue="dname" label="部門" />

4、顯示頁面

2043169-fd6a25deb379ec94.png
list.jsp

經過上述配置後可以正常顯示對應的部門

5、修改頁面回顯

2043169-247f1880029cf18d.png
update.jsp

二、模糊查詢分頁列表顯示

1、先來看一下BaseDaoImpl中的getQueryListByPage方法的字串的解析,可以看到獲取的字元是經過":"來拆分的,因此用的時候的格式為【"類屬性名字:"+設定的字串形參】

        if (queryElements != null && queryElements.length != 0) {
            for (String queryEle : queryElements) {
                String[] split = queryEle.split(":");
                if (split.length > 1) {
                    if (split[1] != null && !split[1].equals("null")) {
                        hql.append("and " + split[0] + " like '%" + split[1]
                                + "%'");
                    }
                }

            }
        }

2、getQueryListByPage方法裡面的分頁已經做好處理了,所以用的時候直接套上當前頁面和顯示條數即可

try {

            Query query = session.createQuery(hql.toString())
                    .setFirstResult((pageNo - 1) * pageSize)
                    .setMaxResults(pageSize);
            list = query.list();
            session.close();
        } catch (Exception e) {
            System.out.println("HibernateUtils:資料庫列表查詢操作發生錯誤:");

        }

3、舉例:UserDaoImpl中的listUser()方法


2043169-ae70ed2004d1d9ee.png

經上述配置後可正常查詢並分頁

相關文章