Spring练习30---用户列表的展示,其实用户列表的展示(上)

news2024/12/22 18:54:20

1、我们其实刚才分析了,用户表与表之间的关系是多对多,我们内部已经用到角色的信息了,那么在实体描述的,就得描述user实体和角色的关系

2、一个用户可以有多个角色

3、所以我在描述实体关系的时候,我咋写,把其他的都关掉

4、domain,找到我们的实体

5、现在我想描写user和role的关系

6、实体与实体之间还有对象引用

7、引用类型roles

8、这个roles同样生成get和set方法

 

9、角色管理查询之后,查询单表

10、而用户查询的时候,不是单表,单表只包括这一部分

11、先查用户表,再查每一个用户对应的角色表

12、最后把我们每一个user都封装好

13、而user也要多个,最终查的也是user

14、这些user都放到一个集合当中,而每个user都具备一个集合,每一个集合都具备一个role

15、这里的用户入口是用户管理,我们需要改一下地址 

16、我们给一下地址,找到controller中的方法,去进行一个相应的查询操作,然后再转发到这个页面

17、之后找aside

18、找aside,划线这里去掉

19、找user,下面有个list,之后这里立马建一个controller文件,目的是为了实现url映射匹配 

20、把userController,他既有视图,又有对应的数据,它内部查询通过serive进行查询 

21、通过他找一个查询方法

22、返回一个user

23、创建一个视图

24、这里serive里没有,我应该创建一下

25、但是这个serive层是不是没有

25.1

26、我们先注入一下

27、我们也先添加一下controller当中

28、首先有个Controller,然后再配置@requestMapping

29、这里加一个autoWird

30、这里要创建serive

31、这里创建createInterface

32、对应的方法,要创建好

33、这个serive要设置对应的实现

34、创建一个IMPL的包

35、这里创建一个userSerive

36、这里的private怎么,我得注入userDao

37、这里需要使用setter方法进行配置

38、通过userDao去查询

39、这个要创建一个userDao的实现

40、这里放到Dao层

41、这个写错了,应该在web层

42、这个是没用的,给他删除

43、这里findAll,给他创建一下

44、创建一个userDao的实现

45、UserDaoimpl类

46、实现userDao,注入一个jdbc的模板,同时给他一个getter方法

47、通过JDBC模板进行查询操作

48、最终怎么进行封装那,

49、泛型

50、.var

51、

52、这里将数据返回给web层

53、拿到数据后进行展示

54、现在对userDao和UserS。。。,进行一下配置

55、找到application...

56、给他配一个

57、用这个

58、我现在注入userDao

59、现在配置userDao

60、properti,他就像一个模板

61、给他配置jstl

62、jstl的配置属性

63、给他使用for循环

64、把死数据变成活的

65、最后这个不好做

66、第二,我这个数据是没有的

67、web层和业务层

68 业务层查Dao层

68.1

69、最后经过业务封装之后

70、这个roles没有进行封装

71、所具有的角色这部分没有完成

72、看两张表

73、中间表

73.1 角色对应表

74

74.1 id 为2 ,既可以是角色2,也可以是角色3

75 现在查询对应的角色,这里在业务层中进行实现

76、一般Dao层只负责比较简单的层进行查询,而我的业务层比较复杂,负责我们的业务层

77、我们把我们的userList进行返回

77.1

78 这个user具备不具备role的数据

79、每个user都不具备这个数据

80、封装userList中roles数据

81、new 现在我能够得到张三的id 

82、我有张三的id 是1,现在我想查张三的角色我怎么查

83、根据1查中间表

84、他对应的是1跟2,然后再去查询

85、张三对应的角色的属性信息

86、所以我要根据主角去查几张表,两张表

87、user-role表,另一个是role表

88、用那个fullEach的内容

89、获得user Id,属性类型是long 类型的

90、将id作为参数,查询当前一个role 的集合数据

91、张三查询的id最终对应的是几个对象

92、然后再查role表的研究源

93、我们返回的是role表,另一个是研究员

94、查出这个方法,你写出那个端口比较靠谱

95、查role 你刨除使用UserDao当中以外

96、把他导一个包

97、除了什么之外,我还得注入一个RoleDao s,我们通过RoleDao 来查数据

 97.1、find userid 

98、返回值是这个东西,泛型roles 

99、得到数据之后,我进行封装

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

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

相关文章

玩转Mysql系列 - 第5天:DML操作汇总,确定你都会?

这是Mysql系列第5篇。 环境:mysql5.7.25,cmd命令中进行演示。 DML(Data Manipulation Language)数据操作语言,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是必须要掌握的指令,DML…

【王道-第三章-内存管理】

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 内存的基础知识一、什么是内存?有何作用?二、内存单位三、指令的工作原理四、三种装入方式1、绝对装入2、可重定位装入3、动态运行时装入 五、从写程序到程序运行六、链接的三种方式七、总结 No.…

stm32之8.中断

(Exceptions)异常是导致程序流更改的事件,发生这种情况,处理器将挂起当前执行的任务,并执行程序的一部分,称之为异常处理函数。在完成异常处理程序的执行之后,处理器将恢复正常的程序执行&#…

Docker容器:dockerfile创建 LNMP 服务+Wordpress 网站平台

文章目录 一.环境及准备工作1.项目环境2.服务器环境3.任务需求 二.Linux 系统基础镜像三.docker构建Nginx1.建立工作目录上传安装包2.编写 Dockerfile 脚本3.准备 nginx.conf 配置文件4.生成镜像5.创建自定义网络6.启动镜像容器7.验证 nginx 四.docker构建Mysql1. 建立工作目录…

华为数通方向HCIP-DataCom H12-821题库(单选题:61-80)

第61题 关于 BGP 的Keepalive报文消息的描述,错误的是 A、Keepalive周期性的在两个BGP邻居之间发送 B、Keepalive报文主要用于对等路由器间的运行状态和链路的可用性确认 C、Keepalive 报文只包含一个BGP数据报头 D、缺省情况下,Keepalive 的时间间隔是180s 答案&#xff…

QFileSystemModel类和QStringListModel类

QFileSystemModel介绍 QFileSystemModel是Qt框架中的一个模型类,用于在Qt应用程序中表示本地文件系统的目录结构。它提供了一种方便的方式来访问和操作文件系统中的文件和目录。下面是对QFileSystemModel的详细介绍: 目录结构的表示:QFileSy…

矩阵与图的关系:矩阵是图,图是矩阵

原文连接 线性代数最被低估的一个事实:矩阵是图,图是矩阵。 将矩阵编码为图是一种取巧的行为(cheat code),它其使复杂的行为变得易于研究。 让我告诉你怎么做! 1. 非负矩阵的有向图 (The directed graph of a nonne…

ChatGPT影响大学生思想行为模式的三个维度

ChatGPT作为新一代AI技术的代表,深刻嵌入并影响着大学生的日常学习和生活场景,其在提升学习研究效率、拓宽认知阈限、重塑人机互动模式等方面带来极大突破,也会对大学生的思想行为模式产生潜在的影响,这些影响可以从个体、关系与社…

Linux设置虚拟内存扩容-偷鸡省钱小技巧-消耗服务器的存储内存转换成运行内存-之强行突破境界

阿丹: 这一段时间各大运营商都在相互内卷,趁着这股劲拿下了几个服务器。因为降本升效(囊中羞涩)的宗旨,买的服务器的内存并没有那么大所以偷鸡技巧这就来了。 设置虚拟内容-让4G内存up!up!up!到更高! 操作…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析

😀前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析 🏠个人主页:尘觉主页 🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力…

SAP VK11/VK12 创建/更新价格记录

1、事务码VK11,创建物料价格 例如,客户10001,物料200001,价格120,有效期是2023.08.23-9999.12.31 现在有活动,在2023.08.23到2023.08.31想要维护一个活动价格100,而2023.09.01到9999.12.31还是…

Java开发中非常好用的工具

一、项目工具 1.1 IDE 主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年,可能 Eclipse 还能和 IDEA 一争高下,到了现在已经基本是 IDEA 的天下了。 就拿我自己来说吧,我最早用 IDEA,后来用了几年 Eclipse,再后…

EasyExcel实现多sheet文件导出

文章目录 EasyExcel引入依赖表结构学生表课程表教师表 项目结构下载模板实体类StudentVoCourseVoTeacherVo ControllerServiceEasyExcelServiceStudentServiceCourseServiceTeacherService ServiceImplEasyExcelServiceImplStudentServiceImplCourseServiceImplTeacherServiceI…

嵌入式是假风口?其实是你不够强!

嵌入式系统,作为一种集成电路技术的应用,近年来备受瞩目。然而,有人质疑嵌入式系统是否真的有那么大的市场前景,甚至认为这只是一个假风口。但实际上,嵌入式系统的发展潜力远不止于此,关键在于个人实力的提…

PI SSL证书导入

导语:最近在通过PI系统,做REST接口,对方地址是https的,调用时出现错误:【适配器框架出现异常: iaik.security.ssl.SSLCertificateException; Peer certificate relected by ChainVerifie】,此问题是因为这个…

SIP播放解码器

SIP-7101 SIP播放解码器 一、描述 SIP-7101是我司的一款壁挂式SIP网络播放终端,具有10/100M以太网接口,配置一路继电器输出和一路线路输出,可将内部音源输出到外接功放,可实现广播播放功能。SIP-7101作为网络SIP系统的播放终端&…

在Linux上安装redis7

1.检测虚拟机环境 1.1 bit检测命令:getconf LONG_BIT(建议使用64bit做开发) 1.2 gcc环境检测:gcc -v 如果不具备gcc环境,则使用yum -y install gcc- c命令进行c环境的安装 2.开始安装 2.1 下载redis: 进…

7、Vue 核心技术与实战 day07

1.1 vuex概述 1.2 构建 vuex [多组件数据共享] 环境 1.创建项目 vue create vuex-demo2.创建三个组件, 目录如下 |-components |--Son1.vue |--Son2.vue |-App.vue3.源代码如下 App.vue在入口组件中引入 Son1 和 Son2 这两个子组件 <template><div id"app&qu…

利用LLM模型微调的短课程;钉钉宣布开放智能化底座能力

&#x1f989; AI新闻 &#x1f680; 钉钉宣布开放智能化底座能力AI PaaS&#xff0c;推动企业数智化转型发展 摘要&#xff1a;钉钉在生态大会上宣布开放智能化底座能力AI PaaS&#xff0c;与生态伙伴探寻企业服务的新发展道路。AI PaaS结合5G、云计算和人工智能技术的普及和…

【TS】typescript基础知识

一、类型注解 : number就是类型注解&#xff0c;为变量添加类型约束的方式&#xff0c;约定了什么类型&#xff0c;就只能给变量赋什么类型的值 let age: number 18二、变量命名规则和规范 命名规则&#xff1a;变量名称只能出现数字&#xff0c;字母&#xff0c;下划线(_)…