數據更新+加載列表+刪除數據

此項目實例爲springMVCDBjava

1、數據檢索更新web

分析:要實現的效果是在第一個頁面文本框中輸入一個數值,點擊檢索,而後在第二個頁面的文本框中顯示。而後在這個文本框中輸入新數據,點擊更新按鈕,數據庫中的文件及文本框中的數據被改寫。須要注意的是此操做是檢索的userid,而要更新的則是它對應的username的值。spring

功能實現思路:數據庫

  1. 先實現數據更新,即在控制中用searchUser的方法實例化一個存放結果集的bean。而後是進行數據改寫,就是實例化一個update的方法,將結果給bean。並用一個if語句判斷數據是否更新,在第三個頁面中顯示是否成功。app

HelloWorldController.javajsp

@RequestMapping(value = "/init", method = RequestMethod.POST)
 public String initLogin(UserBean userBean, Model model) {   
  UserBean result = helloWorldService.searchUser(userBean);    
  model.addAttribute("userBean", result);        return "login";spa

@RequestMapping(value = "/update", method = RequestMethod.POST)
 public String initUpdate(UserBean userBean, Model model) {    
 int result=helloWorldService.update(userBean);         
 if(result!=1)     {    
                          model.addAttribute("message", "NO");         
  }else{     
                           model.addAttribute("message", "OK");    
 }         return "result";    }
code

 

2.而後在service頁面中設置frm的一個變量,來取bean中的值,而後在更新orm

HelloWorldService.javaxml

public UserBean searchUser(UserBean frm) {
frm = queryDao.executeForObject("User.selectUser", frm, UserBean.class);
return frm; }

public int update(UserBean frm) {
return updateDao.execute("User.updateUser", frm); }

 

3.用SQL語句查詢數據庫中的數據,而後更新數據庫中對應ID的username

UserSqlMap.xml

<select id="selectUser"
parameterClass="cn.training.bean.UserBean"
resultClass="cn.training.bean.UserBean">
SELECT

userid as userId,userName
FROM user 
WHERE
userid = #userId#
</select> 

update語句更新數據(******更新設置user表中的#userName#在id爲#userId#處更新******

<update id="updateUser" parameterClass="cn.training.bean.UserBean">
update user set userName=#userName#

WHERE userid = #userId#
</update>

 2、加載列表

分析:實現效果就是查詢數據庫中的數據,將數據庫中的數據以列表形式顯示出來

1.用查詢語句查詢表中的全部數據

UserSqlMap.xml

<select id="selectUser"
parameterClass="cn.training.bean.UserBean"
resultClass="cn.training.bean.UserBean">
SELECT userid as userId,userName
FROM user

2.查詢的結果放在一個泛型爲bean的列表集中

HelloWorldController.java

@RequestMapping(value = "/init", method = RequestMethod.POST)public String initLogin(UserBean userBean, Model model) {
List<UserBean> result = helloWorldService.searchUser(userBean);    
model.addAttribute("list", result);      return "login";}

3.寫一個列表的方法將bean中存放的數據取出來,給這個列表集,取的爲整個列表數據

HelloWorldService.java

public List<UserBean> searchUser(UserBean frm) {
List<UserBean> result=queryDao.executeForObjectList("User.selectUser", frm);         //此方法爲取列表中全部數據,list爲接口類型的
return result;    }

4.在跳轉頁面顯示用一個c:forEach 語句進行遍歷取值

login.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>                                        //此句爲導入C標籤
 <body>
 <c:forEach items="${list}"  var="user" varStatus="status">
${userBean.userId}
${userBean.userName}
</c:forEach>
</body>

3、.刪除列表中數據

分析:效果就是,檢索出數據庫裏的值以列表顯示,而後刪除數據庫中的id的同時也刪除ID對應的username的值。最後數據庫中的數據也會更新,頁面被刪除的數據數據庫中也被刪除。

1.檢索出全部的數據,而後寫一個SQL的delete刪除語句

UserSqlMap.xml

<select id="selectUser"		
parameterClass="cn.training.bean.UserBean"	
resultClass="cn.training.bean.UserBean">	
SELECT		
userid as userId,userName		
FROM		
user	
</select>		
<delete id="deleteUser"  parameterClass="cn.training.bean.UserBean">
	delete  from user	where userid=#userId#	
</delete>

2.在控制頁面實例化一個刪除

 HelloWorldController.java

@RequestMapping(value = "/init", method = RequestMethod.POST)public String initLogin(UserBean userBean, Model model) {
List<UserBean> result = helloWorldService.searchUser(userBean);    
	model.addAttribute("list", result);return "login";
}@RequestMapping(value = "/delete", method = RequestMethod.GET)
public String (UserBean userBean, Model model) {      
  	int result = helloWorldService.(userBean);       
  	return "login";  }

 

3.寫一個刪除的方法,刪除frm爲檢索條件的值而後更新數據

HelloWorldService.java

public List<UserBean> searchUser(UserBean frm) {		
List<UserBean> result=queryDao.executeForObjectList("User.selectUser", frm);	
	return result;	}		
public int delete(UserBean frm) {		
	return updateDao.execute("User.deleteUser", frm);
		}

 4.使用forEach語句遍歷列表,用一個table表存放讀出來的數據,而後將第一列ID的值設爲一個能夠進行刪除的路徑,即連接一個能夠delete指定ID的路徑,而後刪除ID,同時刪除username。

login.jsp

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
 <body>
 <c:forEach items="${list}"  var="user" varStatus="status">
 <table>
 <tr>
 <td>
 <a href="delete?userId=${user.userId}">${user.userId}</td>
 <td>${user.userName}</td>
 </tr>
 </table>
</c:forEach>
相關文章
相關標籤/搜索