使用IntelliJ IDEA开发SpringMVC网站(四)用户管理
2016-05-05 10:00
871 查看
原文:http://my.oschina.net/gaussik/blog/513614
目录[-]
文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
七、用户管理
1、JPA操作定义
2、后台管理
(1)查看所有用户
(2)添加用户
(3)查看用户详情
(4)修改用户信息
(5)删除用户
转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生)
。
注:在阅读本文前,请先阅读:
使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
访问GitHub下载最新源码:https://github.com/gaussic/SpringMVCDemo
首先,在com.gaussic.repository包内新建一个UserRepository接口:
让该接口继承 JpaRepository:
?
在JpaRepository中,定义了几个简化的操作数据库的方法:
(1) findAll():查找表中所有记录;
(2)findOne(Integer id):按id来查找某一条记录;
(3)findByXXX(Object xxx):在这里XXX是一个字段名,根据该字段的值开查找所有记录;
(4)save()和delete():添加一条记录以及删除一条记录。
除此之外,我们还可以在该repository中自定义新的方法,这将在稍后实际开发中提及。
2、后台管理
为了尽可能的在省去篇幅的情况下,在此省去管理员操作的开发。默认在访问 /admin 时,进入后台管理。
(1)查看所有用户
将MainController补充为如下形式:
?
讲解:
自动装配:相当于数据库操作的极简化,只要定义了就可以直接进行数据库操作,不用再去管开启连接、关闭连接等问题
找到所有记录:使用JpaRepository的默认方法findAll()。
modelMap:用于将controller方法里面的参数传递给所需的jsp页面,以进行相关显示。
现在,需要在pages下新建目录admin,并新建users.jsp页面,以进行用户的管理:
?
讲解:
<c>标签:在jsp中使用了jstl语法,可以方便地进行一些判断<c:if>与遍历操作<c:forEach>;
页面使用了Bootstrap,部分功能将在之后实现。
运行Tomcat,在浏览器中输入 http://localhost:8080/admin/users,进入用户管理界面,显示如下:
由于目前数据库中没有数据,因而显示为空,现在需要向数据库中添加用户。
(2)添加用户
在MainController中增加两个方法:
?
讲解:
/admin/users/add请求:get请求转到添加用户页面
/admin/users/addP请求:post请求收集数据并存库
@ModelAttribute注解:收集post过来的数据(在此,相当于post过来了一整个userEntity,不用一个一个地取)
save()和saveAndFlush():save()方法处理完毕后,数据依然在缓冲区未写入数据库,使用saveAndFlush()可以立即刷新缓冲区,写入数据库
redirect:/admin/users:这里使用重定向,可以让该方法重定向访问一个请求,ruturn之后,将跳转到 :/admin/users 所访问的页面。
现在,在pages目录下新建一个addUser.jsp:
?
讲解:
<form:form>标签:使用Spring的form标签,可以方便的收集整块数据,commondName=“user”说明form内的内容都保存在这个user实例中,然后将整个user实例传递给controller处理。在所有的input标签中,name一定要与UserEntity中的成员相同,不然无法找到。
在提交之后,后台将会处理 /admin/users/addP 请求。
现在,重新启动服务器,访问 http://localhost:8080/admin/users/add 页面,如下图所示:
输入数据,点击提交,数据库中将会写入新的用户,重新跳转到用户管理页面:
(3)查看用户详情
在MainController中加入查看详情操作:
?
在pages目录下新建 userDetail.jsp:
?
讲解:如何访问一个实例内的数据?
使用${}语法,在{}内可以使用类似Java的方法方便地访问数据。
重启服务器,进入 http://localhost:8080/admin/users ,点击ID = 1的用户的 详情 按钮,可以查看用户详情:
从url可以看出,访问的是ID=1的用户的详细情况,这样的URL采用了REST风格设计,看起来更加简便。
(4)修改用户信息
现在我们要对用户信息做一定的修改,那该如何做呢。假设我们要能够修改全部的数据(除了id),JpaRepository未定义update方法,需要我们自己定义。
打开UserRepository,添加updateUser()接口方法:
?
在MainController中定义update操作方法:
?
然后,在pages目录下,新建updateUser.jsp文件:
?
重启服务器,进入 http://localhost:8080/admin/users ,点击第一个用户的 修改 按钮,做如下修改:
提交后,重新跳转回用户管理页面,可发现修改完成:
(5)删除用户
现在,新添加一个用户:
现在我们需要删掉新加入的用户,打开MainController,加入以下方法:
?
重启服务器,进入 http://localhost:8080/admin/users ,点击ID=2的用户的删除按钮,在controller中处理完之后,将跳转回用户管理界面:
这样,增删该查基本完成了。
其实,更到这里,基本就可以开始开发工作了,还有一些其他的功能,都需要通过平时的积累以及多查资料来完成。例如JSON数据的处理,异步请求的处理,以及相关外键等操作。
要知道的是,读者所阅读的三十分钟,需要写这篇文章的人数个小时的努力,整理确实不易。读文章要有举一反三地态度,才能真正的把东西学精学全。
目录[-]
文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
七、用户管理
1、JPA操作定义
2、后台管理
(1)查看所有用户
(2)添加用户
(3)查看用户详情
(4)修改用户信息
(5)删除用户
转载请注明出处:Gaussic(一个致力于AI研究却不得不兼顾项目的研究生)
。
注:在阅读本文前,请先阅读:
使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
访问GitHub下载最新源码:https://github.com/gaussic/SpringMVCDemo
文章已针对IDEA 15做了一定的更新,部分更新较为重要,请重新阅读文章并下载最新源码。
七、用户管理
既然我们要做一个博客管理系统,当然要首先实现我们的用户管理。在上一文中,我们已经配置好了数据库。接下来,就要实现网站的一些业务逻辑。1、JPA操作定义
在实现用户管理操作之前,需要讲解一下JPA的开发工作。首先,在com.gaussic.repository包内新建一个UserRepository接口:
让该接口继承 JpaRepository:
?
(1) findAll():查找表中所有记录;
(2)findOne(Integer id):按id来查找某一条记录;
(3)findByXXX(Object xxx):在这里XXX是一个字段名,根据该字段的值开查找所有记录;
(4)save()和delete():添加一条记录以及删除一条记录。
除此之外,我们还可以在该repository中自定义新的方法,这将在稍后实际开发中提及。
2、后台管理
为了尽可能的在省去篇幅的情况下,在此省去管理员操作的开发。默认在访问 /admin 时,进入后台管理。(1)查看所有用户
将MainController补充为如下形式:
?
自动装配:相当于数据库操作的极简化,只要定义了就可以直接进行数据库操作,不用再去管开启连接、关闭连接等问题
找到所有记录:使用JpaRepository的默认方法findAll()。
modelMap:用于将controller方法里面的参数传递给所需的jsp页面,以进行相关显示。
现在,需要在pages下新建目录admin,并新建users.jsp页面,以进行用户的管理:
?
<c>标签:在jsp中使用了jstl语法,可以方便地进行一些判断<c:if>与遍历操作<c:forEach>;
页面使用了Bootstrap,部分功能将在之后实现。
运行Tomcat,在浏览器中输入 http://localhost:8080/admin/users,进入用户管理界面,显示如下:
由于目前数据库中没有数据,因而显示为空,现在需要向数据库中添加用户。
(2)添加用户
在MainController中增加两个方法:
?
/admin/users/add请求:get请求转到添加用户页面
/admin/users/addP请求:post请求收集数据并存库
@ModelAttribute注解:收集post过来的数据(在此,相当于post过来了一整个userEntity,不用一个一个地取)
save()和saveAndFlush():save()方法处理完毕后,数据依然在缓冲区未写入数据库,使用saveAndFlush()可以立即刷新缓冲区,写入数据库
redirect:/admin/users:这里使用重定向,可以让该方法重定向访问一个请求,ruturn之后,将跳转到 :/admin/users 所访问的页面。
现在,在pages目录下新建一个addUser.jsp:
?
<form:form>标签:使用Spring的form标签,可以方便的收集整块数据,commondName=“user”说明form内的内容都保存在这个user实例中,然后将整个user实例传递给controller处理。在所有的input标签中,name一定要与UserEntity中的成员相同,不然无法找到。
在提交之后,后台将会处理 /admin/users/addP 请求。
现在,重新启动服务器,访问 http://localhost:8080/admin/users/add 页面,如下图所示:
输入数据,点击提交,数据库中将会写入新的用户,重新跳转到用户管理页面:
(3)查看用户详情
在MainController中加入查看详情操作:
?
?
使用${}语法,在{}内可以使用类似Java的方法方便地访问数据。
重启服务器,进入 http://localhost:8080/admin/users ,点击ID = 1的用户的 详情 按钮,可以查看用户详情:
从url可以看出,访问的是ID=1的用户的详细情况,这样的URL采用了REST风格设计,看起来更加简便。
(4)修改用户信息
现在我们要对用户信息做一定的修改,那该如何做呢。假设我们要能够修改全部的数据(除了id),JpaRepository未定义update方法,需要我们自己定义。
打开UserRepository,添加updateUser()接口方法:
?
?
?
提交后,重新跳转回用户管理页面,可发现修改完成:
(5)删除用户
现在,新添加一个用户:
现在我们需要删掉新加入的用户,打开MainController,加入以下方法:
?
这样,增删该查基本完成了。
其实,更到这里,基本就可以开始开发工作了,还有一些其他的功能,都需要通过平时的积累以及多查资料来完成。例如JSON数据的处理,异步请求的处理,以及相关外键等操作。
要知道的是,读者所阅读的三十分钟,需要写这篇文章的人数个小时的努力,整理确实不易。读文章要有举一反三地态度,才能真正的把东西学精学全。
相关文章推荐
- Java 正则表达式详解
- 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
- Java中的泛型和类型擦除
- Java集合浅谈
- android笔记之Eclipse ADT的 keystore证书规格及修改证书密码别名
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- Java 垃圾清理基础理论
- Java 正则表达式详解
- Javaweb学习之关于分页
- 使用IntelliJ IDEA开发SpringMVC网站(一)开发环境
- windows Java编写hadoop程序
- java中的getter()和setter()
- Eclipse 快捷键 篇
- Javaweb学习之JSP基础
- Java中的基础----编程规则,开发原则,面向对象设计原则、面向对象的特征
- 【深入理解JVM】:Java内存区域
- 学习总结 JAVA环境配置 及其相应的步骤
- 实战Java虚拟机图片
- Struts2文件上传--多文件上传(插件uploadify)
- 跟Tom学后台开发--Java--入门代码 oschina-git