合肥网站制作费用建手机网站的软件有哪些

diannao/2026/1/19 13:43:35/文章来源:
合肥网站制作费用,建手机网站的软件有哪些,建设网站空间怎么预算,青岛建站软件关于关联查询 首先#xff0c;请准备一些测试数据#xff0c;使得#xff1a;存在若干条用户数据#xff0c;存在若干条角色数据#xff0c;某个用户存在与角色的关联#xff0c;最好有些用户有多个关联#xff0c;又有些用户只有1个关联#xff0c;还有些用户没有关联…关于关联查询 首先请准备一些测试数据使得存在若干条用户数据存在若干条角色数据某个用户存在与角色的关联最好有些用户有多个关联又有些用户只有1个关联还有些用户没有关联。 假设存在需求根据id查询某用户信息时也查出该用户归属于哪几种角色。 **测试数据参考** truncate admin; truncate admin_role; truncate role; truncate permission;insert into admin (username, password) values (admin001, 123456); insert into admin (username, password) values (admin002, 123456); insert into admin (username, password) values (admin003, 123456); insert into admin (username, password) values (admin004, 123456); insert into admin (username, password) values (admin005, 123456); insert into admin (username, password) values (admin006, 123456); insert into admin (username, password) values (admin007, 123456); insert into admin (username, password) values (admin008, 123456); insert into admin (username, password) values (admin009, 123456); insert into admin (username, password) values (admin010, 123456); insert into admin (username, password) values (admin011, 123456); insert into admin (username, password) values (admin012, 123456); insert into admin (username, password) values (admin013, 123456); insert into admin (username, password) values (admin014, 123456); insert into admin (username, password) values (admin015, 123456); insert into admin (username, password) values (admin016, 123456); insert into admin (username, password) values (admin017, 123456); insert into admin (username, password) values (admin018, 123456); insert into admin (username, password) values (admin019, 123456); insert into admin (username, password) values (admin020, 123456);insert into permission (name, value, description) values (商品-商品管理-读取, /pms/product/read, 读取商品数据含列表、详情、查询等), (商品-商品管理-编辑, /pms/product/update, 修改商品数据), (商品-商品管理-删除, /pms/product/delete, 删除商品数据), (后台管理-管理员-读取, /ams/admin/read, 读取管理员数据含列表、详情、查询等), (后台管理-管理员-编辑, /ams/admin/update, 编辑管理员数据), (后台管理-管理员-删除, /ams/admin/delete, 删除管理员数据);insert intorole (name) values (超级管理员), (系统管理员), (商品管理员), (订单管理员);insert into admin_role (admin_id, role_id) values (1, 1), (1, 2), (1, 3), (1, 4), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (4, 1);本次查询需要执行的SQL语句大致是 select * from admin left join admin_role on admin.idadmin_role.admin_id left join role on admin_role.role_idrole.id where admin.id?通过测试运行可以发现必须基于以上测试数据 - 当使用的id值为1时共查询到4条记录并且用户的基本信息是相同的只是与角色关联的数据不同 - 当使用的id值为2时共查询到3条记录 - 当使用的id值为3时共查询到2条记录 - 当使用其它有效用户的id时共查询到1条记录 其实这种查询期望的结果应该是 public class xxx {// 用户基本信息的若干个属性例如用户名、密码等// 此用户的若干个角色数据可以使用 List? }则可以先创建“角色”对应的数据类型 public class Role {private Long id;private String name;private String description;private Integer sort;private LocalDateTime gmtCreate;private LocalDateTime gmtModified;// Setters Getterss// toString() }再创建用于封装此次查询结果的类型 public class AdminDetailsVO {private Long id;private String username;private String password;private String nickname;private String avatar;private String phone;private String email;private String description;private Integer isEnable;private String lastLoginIp;private Integer loginCount;private LocalDateTime gmtLastLogin;private LocalDateTime gmtCreate;private LocalDateTime gmtModified;private ListRole roles;// Setters Getterss// toString() }接下来可以在AdminMapper接口中添加抽象方法 AdminDetailsVO getDetailsById(Long id);需要注意由于此次关联了3张表一起查询结果集中必然出现某些列的名称是完全相同的所以在查询时不可以使用星号表示字段列表因为这样的结果集中的列名就是字段名会出现相同的列名而是应该至少为其中的一部分相同名称的列定义别名例如 selectadmin.id,admin.username,admin.password,admin.nickname,admin.avatar,admin.phone,admin.email,admin.description,admin.is_enable,admin.last_login_ip,admin.login_count,admin.gmt_last_login,admin.gmt_create,admin.gmt_modified,role.id AS role_id,role.name AS role_name,role.description AS role_description,role.sort AS role_sort,role.gmt_create AS role_gmt_create,role.gmt_modified AS role_gmt_modified from admin left join admin_role on admin.idadmin_role.admin_id left join role on admin_role.role_idrole.id where admin.id1;在Mybatis处理中此查询时并不会那么智能的完成结果集的封装所以必须自行配置resultMap用于指导Mybatis完成封装 resultMap idDetailsResultMap typexx.xx.xx.xx.AdminDetailsVO!-- 在1对多、多对多的查询中即使名称匹配的结果也必须显式的配置 --!-- 主键字段的结果必须使用id节点进行配置配置方式与result节点完全相同 --id columnid propertyid /result columngmt_create propertygmtCreate /!-- 需要使用collection节点配置1对多中“多”的数据 --collection propertyroles ofTypexx.xx.xx.Roleid columnrole_id propertyid /result columngmt_create propertygmtCreate //collection /resultMap的查询SQL语句并使用以上的resultMap封装结果即可 sql idDetailsQueryFieldsif testtrueadmin.id,admin.username,admin.password,admin.nickname,admin.avatar,admin.phone,admin.email,admin.description,admin.is_enable,admin.last_login_ip,admin.login_count,admin.gmt_last_login,admin.gmt_create,admin.gmt_modified,role.id AS role_id,role.name AS role_name,role.description AS role_description,role.sort AS role_sort,role.gmt_create AS role_gmt_create,role.gmt_modified AS role_gmt_modified/if /sql resultMap idDetailsResultMap typecn.tedu.mybatis.AdminDetailsVO     !-- 在1对多、多对多的查询中即使名称匹配的结果也必须显式的配置 --     !-- 主键字段的结果必须使用id节点进行配置配置方式与result节点完全相同 -- id columnid propertyid /result columnusername propertyusername /result columnpassword propertypassword /result columnnickname propertynickname /result columnavatar propertyavatar /result columnphone propertyphone /result columnemail propertyemail /result columndescription propertydescription /result columnis_enable propertyisEnable /result columnlast_login_ip propertylastLoginIp /result columnlogin_count propertyloginCount /result columngmt_last_login propertygmtLastLogin /result columngmt_create propertygmtCreate /result columngmt_modified propertygmtModified /!-- 需要使用collection节点配置1对多中“多”的数据 --collection propertyroles ofTypecn.tedu.mybatis.Roleid columnrole_id propertyid /result columnrole_name propertyname /result columnrole_description propertydescription /result columnrole_sort propertysort /result columnrole_gmt_create propertygmtCreate /result columnrole_gmt_modified propertygmtModified //collection /resultMap select idgetDetailsById resultMapDetailsResultMapselect include refidDetailsQueryFields /from adminleft join admin_role on admin.idadmin_role.admin_idleft join role on admin_role.role_idrole.idwhere admin.id#{id} /select总结 MyBatis是一个流行的Java持久化框架它提供了一种方便的方式来执行数据库查询并支持各种连表查询。在本文中我将为您详细介绍MyBatis的连表查询方式并解释在XML中如何编写SQL语句以及实体类的写法以及需要注意的事项。 连表查询是通过在SQL语句中使用JOIN子句来实现的。在MyBatis中有以下几种常见的连表方式 内连接INNER JOIN只返回满足连接条件的行。左连接LEFT JOIN返回左表中的所有行以及满足连接条件的右表中的行。右连接RIGHT JOIN返回右表中的所有行以及满足连接条件的左表中的行。全连接FULL JOIN返回左右表中的所有行如果某行在另一表中没有匹配的行则用NULL填充。 在XML中编写连表查询的SQL语句时可以使用以下方式 select idselectByExample parameterTypecom.example.entity.Example resultMapcom.example.mapper.ExampleResultMapSELECT * FROM table1 t1JOIN table2 t2 ON t1.id t2.id /select在这个例子中我们使用了JOIN子句将table1和table2进行连接通过ON关键字指定了连接条件。 在实体类中我们可以使用嵌套对象来表示连接的表。例如如果我们有table1和table2两个表我们可以创建以下两个实体类 public class Table1 {private int id;private String name;private Table2 table2;// getter and setter }public class Table2 {private int id;private String value;// getter and setter }在上面的例子中Table1实体类包含了一个类型为Table2的属性table2这样我们就可以通过连表查询获取到table1和table2之间的关联数据。 需要注意的是在进行连表查询时要确保表之间的连接条件是正确的并且在数据库中存在相应的关联关系。此外还要注意避免查询结果过大导致性能问题可以使用分页或其他限制条件来控制查询返回的数据量。 总结 MyBatis支持多种连表查询方式包括内连接、左连接、右连接和全连接。在XML中编写连表查询的SQL语句时可以使用JOIN子句并通过ON关键字指定连接条件。在实体类中可以使用嵌套对象来表示连接的表。在进行连表查询时需要确保连接条件正确并且注意性能问题。

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

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

相关文章

做网站为什么一定要留住用户公司网站建设周期及费用

微❤关注“电气仔推送”获得资料(专享优惠) 模型简介 根据传统同步发电机的运行特性设计了MMC-VSG功频控制器和励磁控制器, 实现了MMC-VSG逆变器对高压电网电压和频率的支撑。该模型包含MMC变流器模块,环流抑制模块,…

深圳网站制作建设哪家专业广告制作专业

slf4j 记录日志文件SLF4J是一个非常流行的日志记录外观,但是,就像我们使用的所有库一样,我们有可能以错误的方式或至少以一种非最佳方式使用它。 在本教程中,我们将列出常见的日志记录错误以及如何使用FindBugs检测到它们。 我们…

2019广东省工程建设网站通辽网站建设通辽

目录 1、按位与( & ) 2、按位或( | ) 3.按位异或( ^ ) C语言中的位操作符有以下: & | ^//按位与 //按位或 //按位异或 位运算符是计算两者之间的补码,然后得到的是计算后补…

微信扫一扫抽红包在哪里做网站做网站和app哪类商标

解析模板编译template的背后发生了什么一、📑初识模板编译1、vue组件中使用render代替template2、模板编译总结二、✏️感受模板编译的美1、with语法(1)例子展示🌰(2)知识点归纳三、📈编译模板1…

做网站必备软件自己做的网站怎么发到网上

我试图在PHP中发送HTML电子邮件,但它始终显示电子邮件程序中电子邮件的源代码。但它应该将html电子邮件呈现为html,而不是将源代码显示为电子邮件内容。尝试使用sendmail发送/发送html电子邮件,但显示电子邮件的源代码我把我的邮件是这样的&a…

外卖网站建设价钱房产网二手房

文章目录 1.二叉树层序遍历 2.完全二叉树的判断 文章内容 1.二叉树层序遍历 二叉树的层序遍历需要一个队列来帮助实现。 我们在队列中存储的是节点的地址,所以我们要对队列结构体的数据域重定义, 以上代码 从逻辑上来讲就是1入队,1出队&am…

兰州网站建设模板云南网官网

一、背景 qemu单步调试arm64 linux kernel-CSDN博客介绍了如何单步调试kernel, 但是我们经常写一些测试driver, driver的部分如何调试? 二、环境准备 调试driver 就需要准备一个简单的driver, 这里用最简单的hello world来演示如何调试&am…

如何知道一个网站是谁做的wordpress 搭网站

什么是metadata表 Metadata表即Hudi元数据表,是一种特殊的Hudi表,对用户隐藏。该表用于存放普通Hudi表的元数据信息。Metadata表包含在普通Hudi表内部,与Hudi表是一一对应关系。 元数据表的作用 ApacheHudi元数据表可以显著提高查询的读/写性能。元数据表的主要目的是消…

东莞万江网站制作台州网站搜索优化

优先级类型 React内部对于优先级的管理,贯穿运作流程的4个阶段(从输入到输出),根据其功能的不同,可以分为3种类型: 1 )fiber优先级(LanePriority) 位于 react-reconciler包,也就是L…

免费做图片的网站有哪些网站建设风格

原文在简书首发:http://www.jianshu.com/p/badf412db4e7lua-cmsgpack是一个开源的MessagePack实现方式、纯C的库,没有任何其它依赖,编译后可以直接被lua调用,目前主要支持Lua5.1/5.2/5.3 版本。1、什么是MessagePack?-…

高端网站定制站广西网站建设渠道

目录 一、前言 二、代码 一、前言 有些时候我们需要开启或暂停一些服务,比如说开启Apach或暂停MySQL服务等,最近工作中也开发了这方面的功能,记录下来怎样使用PHP语言来开启或暂停Apache、MySQL服务的运行状态。 这种方法也适用其他服务。…

淘客网站备案wordpress能开发商城网站吗

1. 元件基本介绍 2. 基础元件的使用 3. 表单型元件的使用 4. 菜单与表格元件的使用 使用:如果想使用某个元件,我们只需要将它从元件库中拖入画布摆放即可。 - 对齐:默认情况下,两个矩形元件并排摆放,中间的边框为两…

ps制作网站背景邹城网站定制

一个三电源切换电路 电路描述 1、Q1、Q2为NMOS,Q3、Q4和Q5为PMOS管,D1为二极管。 2、BAT1和BAT2为电池,BAT2的容量比BAT1大,VIN_5V为外部电源,VOUT为输出,给系统供电。 3、VOUT会从优先级高的电源取电&a…

重庆专业企业建设网站网络营销方案范文3篇

原文链接&#xff1a;https://blazor-university.com/components/capturing-unexpected-parameters/捕获意外参数源代码[1]之前我们已经看到了如何使用特定名称声明参数和级联参数。例如&#xff0c;一个将 <img> 元素包装在一些自定义 HTML 中的自定义组件。<div cla…

企业官方网站如何做蓝v认证上海住房和城乡建设局网站

111转载于:https://www.cnblogs.com/zoeeying/p/10139131.html

自助建站的一般流程西安旅游攻略必去景点

宝塔一键修改mysql数据库存放路径&#xff0c;更改默认数据目录脚本&#xff01;该shell脚本仅限于宝塔bt.cn linux面板使用&#xff0c;希望对有需要的朋友有所帮助&#xff0c;如有问题请留言&#xff01;主要参数功能:1.默认修改数据库存放路径sh mysql_Transfer.sh2.还原数…

郑州做网站外包的公司十堰吧

在 Linux 中开启 Flask 项目持续运行 在部署 Flask 项目时&#xff0c;情况往往并不是那么理想。默认情况下&#xff0c;关闭 SSH 终端后&#xff0c;Flask 服务就停止了。这时&#xff0c;您需要找到一种方法在 Linux 服务器上实现持续运行 Flask 项目&#xff0c;并在服务器…

网站编排百度热度榜搜索趋势

在 CMake 中&#xff0c;target_include_directories 命令用于向特定目标&#xff08;如可执行文件或库&#xff09;添加包含目录&#xff0c;以便编译器能够找到特定目标所需的头文件。 基本语法 target_include_directories(target_name[SYSTEM] [BEFORE]directory1[direct…

珠海做网站公司有哪些wordpress 删除demo

一、前言 上周工作遇到了一个需求&#xff0c;同步多个省份销号数据&#xff0c;解绑微信粉丝。分省定时将销号数据放到SFTP服务器上&#xff0c;我需要开发定时任务去解析文件。因为是多省份&#xff0c;服务器、文件名规则、数据规则都不一定&#xff0c;所以要做成可配置是有…

天梭手表官方网站word怎么做网页

schoolcms // 版本信息 const THINK_VERSION 3.2.3; ThinkPHP3.2完全开发手册 http://document.thinkphp.cn/manual_3_2.html