Spring练习---28 (用户表和角色表分析,角色列表展示,角色层和Dao层的设置,页面展示操作)

news2024/11/15 8:44:06

84、下面进入我们的业务层面,进入我们的业务层面我们先分析一个东西,我们要分析用户和角色的关系,因为我们只有在分析完用户和角色之间的关系后,我们才知道表的关系,实体的关系

 85、现在我们先画一张表,分析一下业务模型,因为我们表的关系和实体关系都源于我们的业务模型,你把业务搞明白,你自己的业务就会设计了。

 86、就是你把业务搞明白,你再设计表:你业务不明白,你设计什么表,写什么代码,真的开发有的时候是业务难,而不是

87、首先,我们得弄明白,什么是用户,什么是角色

88、你现在进入一家公司,现在我们登录OA系统之后,必须具备一定的角色

89、你的角色就是程序员,有的人进入公司之后就是项目经理,有的人进入公司是QTO

90、角色不一样导致你在这个系统上操作的功能不一样,但我们在这里不讲权限,只讲用户跟角色,这里有用户和密码,所以在这个地方,我们首先要有用户这个位置

91、我们有很多用户

92、同时我们在系统中还有角色

93、要研究公司员工,CTO,。。。,研究多少岗位

94、COO首席运营官,CTO首席执行官,CFO首席财务官,CTO 首席技术官,技术总监,现在有个问题,我是谁

95、一个用户可以对应很多的角色

96、从右边向左看,是一对多的关系

97、从左往右看,一个用户可以有多个角色

98、从右往左看,一个角色可以被多个用户所用哟

99、一般会有一个角色表,而他维护的就是外键

100、用户表是主表,而角色表也是主表

101、用户与角色之间的关系

102、右边这个用户表

103、左边是角色表,中间用户和角色的中间表

104、从右往左看,一个角色可以被多个用户所用哟

105、一般会有一个角色表,而他维护的就是外键

106 用户表是主表,而角色表也是主表

107、用户与角色之间的关系

108、右边这个用户表

109、左边是角色表,中间用户和角色的中间表

110、一对多的关系,想要判断他们之间的关系,得学表与表之间的关系,new角色列表展示,现在做我们的业务关系

111、new角色列表展示,现在做我们的业务关系

112、真正在设计的时候,我们先设计Dao层,然后设计web层,再设计业务层 

113、这里的数据来自数据库,来源于数据库的role表

114、当我们点击角色管理的时候,才会出现这东西 

115、点击角色管理,业务逻辑是发请求到我们的服务端,到我们web层中的controller,调web层中的某个方法,这个方法负责把我们的方法,传递给业务层---》业务层-------》Dao层,Dao层再通过jdbc模板去查询数据,查到的数据再依次返回,最终到web层,返回的数据依次存到模板里,转发到页面进行展示,

116、这样做不行,这里直接跳转了,没有接收到数据

117、那我应该怎么办,先到controller方法,三层架构,依次过去,再存到ModelView中,再依次转发页面中进行展示

118、角色列表的展示步骤分析

119 第二步 创建controller方法

120 第三步创建业务层方法

121 Dao层方法

122 转发到Model中

123 综合---原先我们web层是servlet,原先我们new对象,现在我们靠spring产生对象,原先web层是由jdbc产生的,现在是由jdbc模板产生的

124角色列表展示---controller,入口是谁,就是角色管理

125、看一下页面

125.1

126、 这里url会默认返回这个url路径:默认访问他,会被映射到这个位置

127、重定向到这个页面

128、这就是main.jsp

129、header.jsp 就是头部

130、引入到侧边栏当中

131、这是侧边栏

132、这里点击之后,内容空白区域能够重新出现,点击之后能够重新出现

133、这里我想点击之后跳转到指定位置:这里我想改成,访问controller方法

134、这里你想写什么都行,映射地址,这个代表role下的list文件

135、现在建一个新的类

136 这里建一个RoleController

137、这里建一个方法:

138、因为点击没有数据,因此这里list不需要参数

139、 

139.1

140 这里还得需要数据

141、这里的路径要配适合适

142、这个地址我们怎么写,requestMapping

143、因为你当前roleController都是当前角色的功能

144

145、这是不是用到serive,没有咋办,给他new,

146 配置文件咋办,右键gen....,使用setter方法

147、如果注入成功了,我们就得需要查询

148 返回的数据是LIst集合中的role对象,查到数据之后给他设进去 

149、名字叫roleList

150、指定视图

151、 设置模型对象,设置视图,我们要设置视图解析器 

152、setViewname

153、前后缀设置完了,光写这个就行了

154、alt 加回车,我们先创建一个serive层,创建一个serive层

155、对应的方法有一个List方法

156、创建一个List接口,我想创建一个接口

157、你光这样不行,你得创建一个对应实现

158、impl包,再多创建一个包

159、他去实现谁那,roleSerive

160、Dao层

161、注入Dao,注入Dao层,创建setter方法

162、新的,返回值就是一个List 

163、role List 把role List直接返回

164、进行相应的创建工作

165、这个方法名放到Dao层

166、Dao层创建成功

167、这时给他改成Dao层,给他改成接口

 168、这里FindAll

169、然后再把他做成一个Dao层的实现

170、实现我们的roleDao 

171、你这里进行相应的操作,就要进行相应的模板对象

172、给他加一个模板对象

173、加一个setter方法

174、给他一个setter方法

175、是这个表

176、查到的属性要封装成实体

177、加一个泛型,后面给一个对应的实体类类型

178、完活,把类型给写上

179、创建完之后能不能显示,这是业务层跟Dao蹭的实现

180、放到Dao层

 181 弄是一个Dao的实现

182、在这里实现一个roleDao

183、配置实现,代码这里虽然写完了,但是肯定返回不通,原因在于,这里要跟SAO容器要serive

184、这里获取Dao层

185、我们把Dao层,web层,业务层到得放到spring容器当中

186、我们先看web层

187、@controller,加上这个表示用注解的形式添加

188、如果由注解方式产生Bean,你还得进行包扫描,在springMvC中

189、再到springMVC,进行组件扫描,扫描Controller,因为业务层跟Dao层 

190、我们再加一个context的命名空间

191、这里context命名空间,s

 

192、扫这一层就行

193、web层现在就放这个容器,就放到业务层,如果这个用注解,你得把他给copy一下

193.1 copy一下权限名:

194、回到spring的配置文件当中

195、配置roleservice,内部他要注入Dao

196、他内部要干嘛,注入serive

197、注入serive要价autoWired

198、加了autoWird,set方法能不能省掉

199 我们web层用注解,业务层
 

200 、找到我们的权限限定名,配置一下

201、打开我们的roleDao,看到的是jdbc模板对象


201.1 引用一下我们jdbc的模板

202、页面如果想要实现一个展示的技术,我还得修改这个页面

203 我现在把数据存到ModelView

204、这个用数据进行展示

205、role-list

206、取谁,取计算扣这个

207、剩下的用for循环,var代表着集合 

208 真么写就行

209、解析出错,要不配置源有问题,要不解析有问题

210、约束源有问题

211、约束有问题写错了

212、成功了

213、检验成功,在数据库里添加数据


213.1 数据添加成功

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

传统节日民俗文化及民间故事推广系统 微信小程序

傣族节日及民间故事推广小程序是在的数据存储主要通过MySQL。用户在使用应用时产生的数据通过java语言传递给数据库。通过此方式促进傣族节日及民间故事推广信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的平台。述了数据库的设计,系统的…

Application of Acrel Earth Leakage Relay in Intell

安科瑞 华楠 Abstract: the necessity of applying residual current relay in intelligent building is analyzed, the main functions, working principle, classification situation of ASJ residual current relay are introduced, and the principles and precautions in…

Everything+cpolar搭建在线资料库,实现随时随地访问

Everythingcpolar搭建在线资料库,实现随时随地访问 文章目录 Everythingcpolar搭建在线资料库,实现随时随地访问前言1.软件安装完成后,打开Everything2.登录cpolar官网 设置空白数据隧道3.将空白数据隧道与本地Everything软件结合起来总结 &a…

Cesium 模型视角锁定(entity)

需求: 需要将视角锁定在以模型为中心,无论怎么旋转和缩放,都是以模型为中心点的。 方法: //绑定方式 viewer.trackedEntity entity; //解绑方式 viewer.trackedEntity undefined;例子 var model_entity viewer.entities.add…

6个主流的工业3D管道设计软件

3D 管道设计软件是大多数行业工程工作的主要部分,例如: 电力、石油和天然气、石化、炼油厂、纸浆和造纸、化学品和加工业。 全球各工程公司使用了近 50 种工厂或管道设计软件。 每个软件都有优点和缺点,包括价格点。 EPC 和业主部门当前的趋势…

STM32 F103C8T6学习笔记11:RTC实时时钟—OLED手表日历

之前在 学习笔记10文章 做了一个简易的,使用定时器计时的简单时钟,现在使用RTC实时时钟同步代替定时器来实现一下OLED手表日历,接着上个实验文章进行完善~~ 文章提供源码、测试工程下载、测试效果图。 目录 RTC实时时钟: 简介&…

MySQL——基础——内连接

一、内连接查询语法 隐式内连接 SELECT 字段列表 FROM 表1,表2 WHERE 条件...; 显示内连接 SELECT 字段列表 FROM 表1 [INNER] JOIN 表2 ON 连接条件...; 内连接查询的是两张表交集的部分 二、内连接演示 1.查询每一个员工的姓名,及关联的部门的名称…

多模双芯LC光纤跳线应用下的光模块方案之争

从40G QSFP SR4光模块产品开始,多模MPO光纤跳线 逐步进入光模块用户的视野。随着新建数据中心的增多,该类光纤跳线也开始普及并被广泛应用。然而,对于不少10G/25G时代就已经建设好的“老旧”机房来说,机房内基本全部部署的是多模L…

[MySQL]主从服务器布置

配置主服务器 配置文件 /etc/my.cnf 在[mysqld]下进行配置 log_binON //启动二进制日志 log-bin mysql-bin //启用二进制日志,用于记录主服务器的更新操作 server-id 1 // 用来表示mysql服务id,保证集成环境中的唯一性 , 范围 [1,2^32) read-only0 // 1表示只…

Java课题笔记~ VUE

1.1 概述 Vue 是一套前端框架,免除原生JavaScript中的DOM操作 我们之前也学习过后端的框架 Mybatis Mybatis 是用来简化 jdbc 代码编写的;而 VUE 是前端的框架,是用来简化 JavaScript 代码编写的。 学习了 VUE 后,这部分代码我…

6.链路追踪-Zipkin

链路追踪(Distributed Tracing)是一种用于监视分布式应用程序的技术,通过收集和展示分布式系统中不同组件之间的调用和交互情况,帮助开发人员和运维团队理解系统中的请求流程、性能瓶颈和异常情况。 1.Zipkin Zipkin 是一个开源的…

商户注册——异常处理

2.4.5 异常处理 2.4.5.1 异常信息格式 系统在交互中难免会有异常发生,前端为了解析异常信息向用户提示定义了异常信息的返回格式,如下: 1、返回response状态说明 状态码说明200成功401没有权限500程序错误(需要自定义错误体)2、自定义错误体 {"errCode": &qu…

matlab使用教程(20)—插值基础

1.网格和散点样本数据 插值是在位于一组样本数据点域中的查询位置进行函数值估算的方法。函数值是根据最接近查询点的样本数据点计算的。MATLAB 根据样本数据的结构,可以执行两种插值。样本数据可以形成网格,也可以是分散的。 网格化的样本数据使得插值…

1688批发工厂商品详情数据接口、商品采集接口(标题、详情、价格、主图)

接口背景 阿里巴巴(1688.com)是全球企业间(B2B)电子商务的著名品牌,为数千万网商提供海量商机信息和便捷安全的在线交易市场,也是商人们以商会友、真实互动的社区平台。供应商在该平台上展示和销售各类商品,而买家可以根据自己的需求选择合适的商品进行采购。为了提…

嵌入式糊涂蛋--基础恢复

2023年8月21日,距离找工作还有约365天。 现阶段状态:嵌入式各相关原理遗忘较大,嵌入式相关项目较少。机器学习、强化学习、数学规划等算法知识学得杂乱。 嵌入式学习路线 图片来源于公众号CodeSheep 图片来源于公众号CodeSheep 图片来源…

CSS 小技能(一):HTML 两个图片竖着平铺、设置图片点击、设置滚动条颜色

下面的代码没有考虑响应式的效果&#xff0c;如果考虑的话还需要一些代码进行处理。 【注】当时写的时候仅考虑了 webkit 内核的浏览器&#xff0c;如果是 IE 或者其他浏览器&#xff0c;请增加额外的 CSS 样式进行控制。 <!DOCTYPE html> <html> <head>&l…

YZ系列工具:YZ07:VBA对工作簿事件的监听

【分享成果&#xff0c;随喜正能量】善心善行的你&#xff0c;利己利他&#xff0c;积累无量福德&#xff0c;菩萨常伴左右&#xff0c;保佑一生平安&#xff0c; 财运亨通&#xff0c;福禄双收。身如逆流船&#xff0c;心比铁石坚。。 我给VBA下的定义&#xff1a;VBA是个人小…

微星笔记本暑促好货多多,开学季选购看这里!

随着即将到来的学期的临近&#xff0c;学生族如何选择一款称手的笔记本&#xff0c;就提上了日程。各种产品定位取向&#xff0c;各种价格范围&#xff0c;如果没有明确自己的需求和预算&#xff0c;就有点不知所措了~OK&#xff0c;今天就让我们从需求&预算出发&#xff0…

代码随想录(三) 哈希表

哈希表&#xff1a; 1.有效的字母异位词 用数组 class Solution { public:bool isAnagram(string s, string t) {int record[26] {0};for(int i 0; i < s.size(); i) {record[s[i] - a];} for(int i 0; i < t.size(); i) {record[t[i] - a]--;}for(int i 0; i <…

SDXL:Improving latent diffusion models for high-resolution image synthesis

文生图模型之SDXL - 知乎之前的文章 文生图模型之Stable Diffusion已经介绍了比较火的文生图模型Stable Diffusion&#xff0c;近期Stability AI又发布了新的升级版本SDXL。目前SDXL的代码、模型以及技术报告已经全部开源&#xff1a;官方代码&#xff1a;https://github.…htt…