此項目實例爲springMVCDBjava
1、數據檢索更新web
分析:要實現的效果是在第一個頁面文本框中輸入一個數值,點擊檢索,而後在第二個頁面的文本框中顯示。而後在這個文本框中輸入新數據,點擊更新按鈕,數據庫中的文件及文本框中的數據被改寫。須要注意的是此操做是檢索的userid,而要更新的則是它對應的username的值。spring
功能實現思路:數據庫
先實現數據更新,即在控制中用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>