IDEA中实现用户信息修改功能
生活随笔
收集整理的這篇文章主要介紹了
IDEA中实现用户信息修改功能
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
???????實現用戶信息修改功能,首先從數據庫中讀取用戶個人信息在前臺頁面展示,通過修改用戶某些字段信息,以form表單提交的方式,將修改后用戶的信息進行保存到數據庫,同時頁面無刷新的顯示更新后的用戶數據信息
整個項目結構圖如下所示:
第一步,mapper類的書寫
1 在數據庫中查詢該用戶的所有信息
2 進數據庫信息的更新
詳細代碼如下:
package test.mapper;import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import org.springframework.stereotype.Component; import test.entity.Stu;import java.util.List;@Component public interface Common {//登陸成功后查詢用戶的學號@Select("select sno from stu where sno=#{sno} and password=#{password}")public String getsno(@Param("sno") String sno,@Param("password") String password);//登陸成功后查詢用戶的姓名@Select("select sname from stu where sno=#{sno} and password=#{password}")public String login(@Param("sno") String sno,@Param("password") String password);//登陸成功后查詢用戶的所有信息@Select("select * from stu where sno=#{sno}")public Stu userinfor(@Param("sno") String sno);//用戶信息的更新操作@Update("update stu set sname=#{sname},password=#{password},tno=#{tno},tname=#{tname},tgrade=#{tgrade} where sno=#{sno}")public void updateStu(@Param("sno") String sno,@Param("sname") String sname,@Param("password") String password,@Param("tno") String tno,@Param("tname") String tname,@Param("tgrade") String tgrade);}第二步,service類的調用mapper中的方法
代碼如下:
package test.service;import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import test.entity.Stu; import test.mapper.Common;import java.util.List;@Service public class CommonService {@Autowiredpublic Common commonmapper;public String getsno(String sno,String password){return commonmapper.getsno(sno, password);}public String login(String sno, String password){return commonmapper.login(sno, password);}public Stu userinfor(String sno){return commonmapper.userinfor(sno);}public void updateStu(String sno,String sname,String password,String tno,String tname,String tgrade){commonmapper.updateStu(sno, sname, password, tno, tname, tgrade);}}第三步,service類的調用mapper中的方法
代碼如下:
package test.controller;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import test.entity.Stu; import test.service.CommonService;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.validation.Valid;@Controller public class CommonController {@Autowiredpublic CommonService commonservice;@RequestMapping(value = "/", method = {RequestMethod.POST, RequestMethod.GET})public String login() {return "/login/login";}//用戶登陸@RequestMapping(value = "/loginPage", method = {RequestMethod.POST, RequestMethod.GET})public String login(HttpServletRequest request, HttpSession session) {String tno = request.getParameter("tno");String password = request.getParameter("password");System.out.println("你輸入的用戶名為:" + tno);System.out.println("你輸入的密碼為:" + password);String tname = commonservice.login(tno, password);String no=commonservice.getsno(tno, password);System.out.println("用戶的工號為:"+no);session.setAttribute("no",no);session.setAttribute("tname", tname);if (tname == null) {return "redirect:/";} else {return "redirect:/index";}}//用戶登陸成功主頁面@RequestMapping(value = "/index", method = {RequestMethod.POST, RequestMethod.GET})public String loginindex(HttpSession session) {return "/login/test";}//獲取登陸用戶信息@RequestMapping(value = "/getteacherinfo1", method = {RequestMethod.POST})@ResponseBodypublic String getUserInformation(HttpSession session,Model model) {String no12 = (String) session.getAttribute("no");//獲取用戶登陸成功綁定的學號,通過學號查詢用戶詳細信息Stu stu=commonservice.userinfor(no12);System.out.println(stu.toString());String strings=stu.toString();return strings;}//用戶信息修改public String saveTeacherInformation(HttpServletRequest request,HttpSession session) {String sno=request.getParameter("sno");String sname=request.getParameter("sname");String password=request.getParameter("password");String tno=request.getParameter("tno");String tname=request.getParameter("tname");String tgrade=request.getParameter("tgrade");System.out.println("修改信息的姓名"+sname);System.out.println("修改信息的密碼"+password);System.out.println("修改信息的課程號"+tno);System.out.println("修改信息的課程名"+tname);System.out.println("修改信息的成績"+tgrade);commonservice.updateStu(sno,sname,password,tno,tname,tgrade);//用戶各個字段信息的更新 更新完直接返回該頁面return "/login/test";}}頁面前臺代碼如下:
注意:static文件夾下有一個js文件夾,里面放的是jquery.js文件,因為,在用ajax傳遞數據的時候,$符號是jquery語法,要引入js文件,下面的easyui文件夾本次程序中沒有用到,是后面進行添加其他功能要用到的框架。
easyui框架js文件下載地址:http://www.jeasyui.com/download/list.php
jquery.js文件下載地址:http://www.jb51.net/zt/jquerydown.htm
盡量不要在線引用,下載到本地使用
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head><meta charset="UTF-8"/><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript">function change() {$.ajax({url: "/getteacherinfo1",type: "post",datatype: "json",success: function (data) {document.getElementById('winddow1td1').value = data.split(" ")[0];document.getElementById('winddow1td2').value = data.split(" ")[1];document.getElementById('winddow1td3').value = data.split(" ")[2];document.getElementById('winddow1td4').value = data.split(" ")[3];document.getElementById('winddow1td5').value = data.split(" ")[4];document.getElementById('winddow1td6').value = data.split(" ")[5];}})}</script> </head> <body onload="change()"><div><h3 th:text="'歡迎您::' + ${session.tname}"></h3></div><div><form action="saveinfo" method="post"><table border="0" style="margin-top:4px; margin-left: 18px"><tr><td width="90"><label>工號:</label></td><td><input type="text" readOnly="true" style="width:255px; height: 25px;" name="sno" id="winddow1td1"/></td></tr><tr><td width="90"><label>姓名:</label></td><td><input type="text" style="width:255px; height: 25px;" name="sname" id="winddow1td2"/></td></tr><tr><td width="90"><label>密碼:</label></td><td><input type="text" style="width:255px; height: 25px;" name="password" id="winddow1td3"/></td></tr><tr><td width="90"><label>課程號:</label></td><td><input type="text" style="width:255px; height: 25px;" name="tno" id="winddow1td4"/></td></tr><tr><td width="90"><label>課程名:</label></td><td><input type="text" style="width:255px; height: 25px;" name="tname" id="winddow1td5"/></td><td></td></tr><tr><td width="90"><label>分數:</label></td><td><input type="text" style="width:255px; height: 25px;" name="tgrade" id="winddow1td6"/></td><td></td></tr><tr><td colspan="2" align="center"><input type="submit" value="確定" style="width:70px; height: 25px;" /></td></tr></table></form></div> </body> </html>上述代碼中通過ajax的方式將查詢到的用戶信息,存放在表格中進行顯示。
用戶進行信息修改后,點擊確定按鈕,通過form提交表單的方式將用戶修改的信息進行update操作,之后在前臺頁面中進行顯示
用戶信息修改前后圖
用戶信息修改后如下圖
由于在上述學號字段中加入了readOnly=”true”代碼,使得用戶學號字段信息是不可以修改的。可以通過去除改代碼,使得學號字段可以修改。
與此同時,數據庫表中的信息也進行了更新
簡單的一個用戶信息讀取和更新功能就這樣就實現了,不過當初打算進行用戶信息更新操作時,傳遞Stu的一個對象的,不過中間出現了一些錯誤,只能通過最笨的方法,傳遞好多了參數進行數據信息的更新操作。
總結
以上是生活随笔為你收集整理的IDEA中实现用户信息修改功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为什么要推销自己_推销自己:为什么? 如
- 下一篇: cad能整体比例缩小吗_cad比例缩放