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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts实战--实现条件查询(利用dbutils)

發布時間:2025/3/20 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts实战--实现条件查询(利用dbutils) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

struts實現條件查詢---利用dbutils

一.在list.jsp頁面修改查詢組件

?? ??? ?
?? ??? ?是否上傳簡歷
?? ??? ?<s:select list="#{'1':'有','2':'無'}" name="isUpload" id="isUpload" headerKey="0" headerValue="--請選擇--"></s:select>

? ?

<%@ page language="java" pageEncoding="UTF-8"%> <%@taglib uri="/struts-tags" prefix="s"%> <HTML><HEAD><meta http-equiv="Content-Language" content="zh-cn"><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link href="${pageContext.request.contextPath}/css/Style.css" rel="stylesheet" type="text/css" /><script language="javascript" src="${pageContext.request.contextPath}/js/public.js"></script><script type="text/javascript" src="${pageContext.request.contextPath }/jquery/jquery-1.4.2.js"></script><script type="text/javascript">function addUser(){window.location.href = "${pageContext.request.contextPath}/user/add.jsp";}$(function(){// 為刪除鏈接 加確認效果$(".delLink").click(function(event){var isConfirm = window.confirm("想好了嗎?");if(!isConfirm){// 阻止提交event.preventDefault();}});});</script></HEAD><body><br><s:form action="user_list" namespace="/" method="post" theme="simple" id="Form1" name="Form1"><table cellSpacing="1" cellPadding="0" width="100%" align="center" bgColor="#f5fafe" border="0"><TBODY><tr><td class="ta_01" align="center" bgColor="#afd1f3"><strong>查 詢 條 件</strong></td></tr><tr><td><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td height="22" align="center" bgColor="#f5fafe" class="ta_01">用戶姓名</td><td class="ta_01" bgColor="#ffffff"><s:textfield name="userName" size="15" id="Form1_userName" cssClass="bg"/></td><td height="22" align="center" bgColor="#f5fafe" class="ta_01">性別:</td><td class="ta_01" bgColor="#ffffff"><s:select list="{'男','女'}" name="sex" id="sex" headerKey="" headerValue="--選擇性別--"></s:select></td></tr><tr><td height="22" align="center" bgColor="#f5fafe" class="ta_01">學歷:</td><td class="ta_01" bgColor="#ffffff"><s:select list="{'博士','碩士','研究生','本科','專科','高中'}" name="education" id="education" headerKey="" headerValue="--選擇學歷--"></s:select></td><td height="22" align="center" bgColor="#f5fafe" class="ta_01">是否上傳簡歷</td><td class="ta_01" bgColor="#ffffff"><s:select list="#{'1':'有','2':'無' }" name="isUpload" id="isUpload" headerKey="" headerValue="--請選擇--"></s:select></td></tr><tr><td width="100" height="22" align="center" bgColor="#f5fafe"class="ta_01"></td><td class="ta_01" bgColor="#ffffff"><font face="宋體" color="red"> ?</font></td><td align="right" bgColor="#ffffff" class="ta_01"><br><br></td><td align="right" bgColor="#ffffff" class="ta_01"><button type="submit" id="search" name="search" value="查詢" class="button_view"> 查詢 </button><input type="reset" name="reset" value="重置" class="button_view"/></td></tr></table></td></tr><tr><td class="ta_01" align="center" bgColor="#afd1f3"><strong>用 戶 列 表</strong></TD></tr><tr><td class="ta_01" align="right"><button type="button" id="add" name="add" value="添加" class="button_add" onclick="addUser()"> 添加 </button></td></tr><tr><td class="ta_01" align="center" bgColor="#f5fafe"><table cellspacing="0" cellpadding="1" rules="all"bordercolor="gray" border="1" id="DataGrid1"style="BORDER-RIGHT: gray 1px solid; BORDER-TOP: gray 1px solid; BORDER-LEFT: gray 1px solid; WIDTH: 100%; WORD-BREAK: break-all; BORDER-BOTTOM: gray 1px solid; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: #f5fafe; WORD-WRAP: break-word"><trstyle="FONT-WEIGHT: bold; FONT-SIZE: 12pt; HEIGHT: 25px; BACKGROUND-COLOR: #afd1f3"><td align="center" width="18%">登錄名</td><td align="center" width="17%">用戶姓名</td><td align="center" width="8%">性別</td><td align="center" width="23%">聯系電話</td><td width="11%" align="center">學歷</td><td width="7%" align="center">編輯</td><td width="7%" align="center">查看</td><td width="7%" align="center">刪除</td></tr><s:iterator value="users" var="user"><tr onmouseover="this.style.backgroundColor = 'white'"onmouseout="this.style.backgroundColor = '#F5FAFE';"><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="18%"><!-- user會push到root 同時 保存contextMap --><s:property value="logonName"/><s:property value="#user.logonName"/></td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="17%"><s:property value="#user.userName"/></td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="8%"><s:property value="#user.sex"/></td><td style="CURSOR: hand; HEIGHT: 22px" align="center"width="23%"><s:property value="#user.telephone"/></td><td style="CURSOR: hand; HEIGHT: 22px" align="center"><s:property value="#user.education"/></td><td align="center" style="HEIGHT: 22px"><s:a action="user_editview" namespace="/"><s:param name="userID" value="#user.userID"></s:param><img src="${pageContext.request.contextPath}/images/i_edit.gif" border="0" style="CURSOR: hand"></s:a></td><td align="center" style="HEIGHT: 22px"><s:a action="user_view" namespace="/"><s:param name="userID" value="#user.userID"></s:param><img src="${pageContext.request.contextPath}/images/button_view.gif" border="0" style="CURSOR: hand"></s:a></td><td align="center" style="HEIGHT: 22px"><s:a action="user_delete" namespace="/" cssClass="delLink"><s:param name="userID" value="#user.userID"></s:param><img src="${pageContext.request.contextPath}/images/i_del.gif" width="16" height="16" border="0" style="CURSOR: hand"></s:a></td></tr></s:iterator> </table></td></tr></TBODY></table></s:form></body> </HTML>


??

二.添加校驗

三.完成條件查詢操作?? ?
?? ??? 1、是否上傳簡歷,怎樣在action中獲取?
?? ??? ?

?? ??? ???? 需要在User中添加一個屬性? String isUpload

?? ??? ?

?? ???? 2、 在dao中怎樣根據條件查詢?

???????????? 在這里dao層我們使用的是dbutils,所以進行條件查詢的時候需要用到QueryRunner類,而他的查詢方法queryRunner.query(sql,
?? ??? ??? ??? ??? ?new BeanListHandler<User>(User.class), argList.toArray());需要sql語句,和所有參數的這兩個參數,所以我們需要解決這兩個問題。

?? ??? ??? ?1).sql語句生成
?? ??? ??? ?
?? ??? ??? ?2).參數怎樣傳遞?

?? ??? ??? ??? ?創建一個List<Object>,在每一次判斷時,直接將參數添加到集合中,
?? ??? ??? ??? ?最后將集合轉換成Object[],做為參數傳遞到query方法中。
?? ??? ??? ??? ?

String sql = "select * from s_user where 1=1 ";List<Object> params=new ArrayList<Object>();String username = user.getUserName();if (username != null && username.trim().length() > 0) {sql += " and userName like ?";params.add("%"+username+"%");}String sex = user.getSex();if (sex != null && sex.trim().length() > 0) {sql += " and sex=?";params.add(sex);}String education = user.getEducation();if (education != null && education.trim().length() > 0) {sql += " and education=?";params.add(education);}String isupload = user.getIsUpload();if ("1".equals(isupload)) {sql += " and filename is not null";} else if ("2".equals(isupload)) {sql += " and filename is null";}QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());return runner.query(sql, new BeanListHandler<User>(User.class),params.toArray());

/*** 條件查詢* * @param user* @return*/public List<User> findByCondition(User user) {// 根據用戶姓名、性別、學歷、是否上傳簡歷 組合查詢String sql = "select * from s_user where 1=1 ";List<String> argList = new ArrayList<String>(); // 參數列表if (user.getUserName() != null&& user.getUserName().trim().length() > 0) {sql += "and userName like ? ";argList.add("%" + user.getUserName() + "%");}if (user.getSex() != null && user.getSex().trim().length() > 0) {sql += "and sex = ? ";argList.add(user.getSex());}if (user.getEducation() != null&& user.getEducation().trim().length() > 0) {sql += "and education = ? ";argList.add(user.getEducation());}if (user.getIsUpload() != null&& user.getIsUpload().trim().length() > 0) {if (user.getIsUpload().equals("1")) {// 上傳簡歷sql += "and filename is not null";} else if (user.getIsUpload().equals("2")) {// 沒有上傳簡歷sql += "and filename is null";}}try {List<User> users = queryRunner.query(sql,new BeanListHandler<User>(User.class), argList.toArray());return users;} catch (SQLException e) {e.printStackTrace();throw new MySQLException(e);}}



?? ??? ??? ??

總結

以上是生活随笔為你收集整理的struts实战--实现条件查询(利用dbutils)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。