JavaMVC项目(三)——实现注册、修改、查询
作者想说的话
本篇作品为自己为了学业所做作业,如果有帮助到你,一起加油。如果有什么说错的,因为本人也没查什么资料,纯凭自我理解的,还请见谅。另外本次环境配置搭建,有很多奇奇怪怪的问题,记得好好看每一步。
环境配置要求
1、IDEA(本人用的是2019.2,大家可下载别的新版本)
2、JDK1.8(推荐用此版本)
3、Tomcat 8.5.32
下载链接:https://pan.baidu.com/s/1E_Pnnnhu3usyXVwcMjPXwA
提取码:1i8j
4、Navicat for MySQL
下载链接:https://pan.baidu.com/s/1uXImn-3UrE4TVEAXzq67MA
提取码:j2fd
5、MySQL Server(这边是用的是5.7.10,最好版本号是5开头)
具体上述软件的安装使用配置,我发布的前面几篇文章内有,可以去查阅。
需要实现的效果
注册:通过输入用户名、密码,进行账户注册
修改:通过点击一条数据,可修改本条数据的信息
查询:通过输入名字,模糊查询所有符合标准的数据
前期项目准备
根据文章JavaCSS项目(一)(二)搭建出Maven项目的创建和搭建,以及已经实现的功能编写。
项目(注册)代码撰写
1、dao层接口的撰写
2、Mappper文件中SQL语句的撰写
3、Service接口的撰写
4、重写UserServiceImpl所继承的方法
代码如下:
// add方法的逻辑判断:
// 将网页传递的值封装为User类的数据,通过dao层接口方法进行insert操作,传递出结果数
// 若添加的数量大于0,则返回true,即删除成功
@Override
public boolean add(User user) {
int integer = userdao.add(user);
if (integer > 0) return true;
else return false;
}
5、Controller类的撰写
6、创建注册页面
7、修改index.jsp文件
运行结果
项目(修改)代码撰写
1、dao层接口的撰写
2、Mappper文件中SQL语句的撰写
3、Service接口的撰写
4、重写UserServiceImpl所继承的方法
代码如下:
// findById方法的逻辑判断:
// 将网页传递的id值通过dao层接口方法进行select操作,传递出结果
// 将传递出来的结果封装成一个User类型的对象
@Override
public User findById(Integer id) {
return userdao.findById(id);
}
// update方法的逻辑判断:
// 将网页传递的值封装为User类的数据,通过dao层接口方法进行update操作,传递出结果数
// 若修改的数量大于0,则返回true,即修改成功
@Override
public boolean update(User user) {
int integer = userdao.update(user);
if (integer > 0) return true;
else return false;
}
5、Controller类的撰写
代码如下:
@RequestMapping("/findById.do")
public String findById(Integer id, Model model) {
//定义一个user来获取Service接口传递出的对象
User user = userService.findById(id);
//使用页面传递的model对象,将Service接口读取出来的对象传递给页面
model.addAttribute("user", user);
//最后前往modify页面
return "../modify";
}
//findById方法与update方法的关系为:
//首先后端获取前端需要修改的那条数据的id值,然后通过findById方法,在数据库中找到那条信息
//之后将这条消息通过model.addAttribute方法加载到页面,前往modify页面
//在modify页面,用户可以看到需要修改的那条数据的所有信息,点击确认后调用update方法进行修改
@RequestMapping("/update.do")
public String update(User user) {
//定义flag用来读取userService类中的update方法返回值
boolean flag = userService.update(user);
//如若添加修改成功,则加载重新执行findAll.do,加载数据库数据页面,否则加载fail.jsp页面
if (flag) return "redirect:findAll.do";
else return "../fail";
}
6、创建modify.jsp页面
代码如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>修改</title>
</head>
<body>
<h1>修改数据</h1>
<form action="/user/update.do">
<input name="id" value="${user.id}" type="hidden">
<div>
<label for="name">用户名</label>
<input type="text" name="name" id="name" value="${user.name}">
</div>
<div>
<label for="password">密 码</label>
<input type="text" name="password" id="password" value="${user.password}">
</div>
<div>
<input type="submit" value="提交">
</div>
<a href="javascript:window.history.go(-1)">返回</a>
</form>
</body>
</html>
7、修改main.jsp文件
运行结果
项目(查询)代码撰写
1、dao层接口的撰写
2、Mappper文件中SQL语句的撰写
3、Service接口的撰写
4、重写UserServiceImpl所继承的方法
代码如下:
// searchByName方法的逻辑判断:
// 执行dao层操作,将所有查找出的数据返回出List<User>类型的数组
@Override
public List<User> searchByName(String name) {
return userdao.searchByName(name);
}
5、Controller类的撰写
修改findAll方法
6、修改main.jsp文件
div容器代码如下:
<div>
<form action="/user/findAll.do">
<input type="text" name="name" value="${name}">
<input type="button" onclick="form.submit()" value="搜索">
</form>
</div>
运行结果