当前位置: 首页 > news >正文

库尔勒网站商城建设wordpress自动更新

库尔勒网站商城建设,wordpress自动更新,做网站图片切图可以用中文吗,哈尔滨网站建设目录 项目场景: 实战操作: 1.创建菜单表 2.创建实体 3.创建Mapper 4.创建xml 属性描述: 效率比较: 项目场景: 本文说明了Spring BootMyBatis使用collection标签的两种使用方法 1. 方法一: 关联查询 2. 方法…

目录

项目场景:

实战操作:

1.创建菜单表

2.创建实体 

3.创建Mapper

4.创建xml 

属性描述:

效率比较:


项目场景:

本文说明了Spring Boot+MyBatis使用collection标签的两种使用方法

1. 方法一: 关联查询
2. 方法二: 嵌套select查询


实战操作:

1.创建菜单表

这里只创建一张表,树结构只有两级,方便学习,多表关联是同样的道理

-- ----------------------------
-- Table structure for menu
-- ----------------------------
DROP TABLE IF EXISTS `menu`;
CREATE TABLE `menu`  (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名称',`pid` int(3) NULL DEFAULT NULL COMMENT '0代表父级',`order` int(3) NULL DEFAULT NULL COMMENT '排序',PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;-- ----------------------------
-- Records of menu
-- ----------------------------
INSERT INTO `menu` VALUES (1, '审核', 0, 1);
INSERT INTO `menu` VALUES (2, '栏目管理', 0, 2);
INSERT INTO `menu` VALUES (3, '应用审核', 1, 1);
INSERT INTO `menu` VALUES (4, '服务审核', 1, 2);
INSERT INTO `menu` VALUES (5, '角色管理', 2, 1);

2.创建实体 

package com.test.entity;import lombok.Data;
import java.util.List;@Data
public class Menu {private Integer id;private String name;private Integer pid;private Integer order;private List<Menu> menus;}

3.创建Mapper

package com.test.dao;import com.test.entity.Menu;
import java.util.List;public interface TestMapper{//关联查询List<Menu> selectMenu();//嵌套查询List<Menu> selectNestedMenu();
}

4.创建xml 

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.test.dao.TestMapper"><!-- 公共字段 --><resultMap id="BaseResultMap" type="com.test.entity.Menu"><result column="id" property="id"/><result column="name" property="name"/><result column="pid" property="pid"/><result column="order" property="order"/></resultMap><!-- 方式一、关联查询:执行一次sql --><!-- 定义resultMap --><resultMap id="MenuResultMap" extends="BaseResultMap" type="com.test.entity.Menu"><!-- 关联集合映射,columnPrefix前缀,用于区分相同字段 --><collection ofType="com.test.entity.Menu" resultMap="BaseResultMap" property="menus" columnPrefix="menu_"></collection></resultMap><!-- 查询语句 --><select id="selectMenu" resultMap="MenuResultMap">select r.id ,r.name ,r.pid ,r.order ,r1.id AS menu_id ,r1.name AS menu_name ,r1.pid AS menu_pid,r1.order AS menu_orderFROM menu rLEFT JOIN menu r1 ON r.id = r1.pidwhere r.pid=0order by r.order,r1.order</select><!-- 方式二、嵌套查询:会执行多次sql --><!-- 定义resultMap --><resultMap id="NestedResultMap" extends="BaseResultMap" type="com.test.entity.Menu"><!-- 嵌套查询集合映射 --><collection property="menus" column="id" select="selectChildMenu"/></resultMap><!-- 查询所有父级语句 --><select id="selectNestedMenu" resultMap="NestedResultMap">select r.id ,r.name ,r.pid ,r.orderFROM menu rwhere r.pid=0order by r.order</select><!-- 查询下级 --><select id="selectChildMenu" resultMap="BaseResultMap">select r.id ,r.name ,r.pid ,r.orderFROM menu rwhere r.pid=#{id}order by r.order</select></mapper>

属性描述:

属性描述
property属性名:映射实体类属性名
ofType映射集合的类型(指定一对多的集合里面元素的类型)
column映射数据库字段名,传多个 {“属性名”=“参数”,“属性名”=“参数”}
select用于加载复杂类型属性的映射语句的ID(它会从column 属性指定的列中检索数据,作为参数传递给目标 select 语句)
columnPrefix给关联的数据库中的 column 添加一个前缀(如果不添加前缀,当 两个表同时有 id 字段,查询结果时一定会产生覆盖,使得两个 id 的值一样)

效率比较:

方法一(关联查询):只需要执行一次sql语句。
方法二(嵌套select查询):需要执行多次sql语句。
     
方法一比方法二的效率要高,但是在使用的时候,方法二的代码可重用性要高

比如:这里用的是菜单表,数据量不会太大,可以选择方法二(嵌套select查询)

源码: https://download.csdn.net/download/u011974797/88305627

http://www.yayakq.cn/news/638390/

相关文章:

  • 怎样做网站推广啊抖音谷歌竞价排名推广公司
  • 百度网站怎么用鞍山市网站建设
  • 淘宝网站是用什么开发的东莞人力资源招聘官网
  • 以前自己做的网站怎么样删除返回链接 网站惩罚检查 错误检查
  • 贵州网站建设营销公司国内空间设计公司
  • 备案 网站建设计划书慈溪建设局网站
  • 艺术留学机构seo网站文章编辑软件
  • 青海省建设厅网站首页免费0代码开发平台
  • 网站设计网站建设网站制作银行网站建设方案视频
  • 西宁做网站公司wordpress 小程序
  • 网站打不开什么原因wordpress 最近访客
  • 《水利建设与管理》杂志社网站金山网站建设费用
  • 做灯箱到哪个网站找业务服装类电子商务网站建设报告
  • 做外贸需要哪些网站有哪些工业设计产品图
  • 如何发布网站到域名快速网络推广
  • 手机ui设计网站中国物流企业网
  • 建设网站提供资料的函专业团队建设实施方案
  • 邢台企业做网站报价小程序到哪里去找
  • 服务器网站备案找人做网站被骗
  • 建网站保定开发一个小程序大概要多少钱
  • 企业网站的分类网页制作与网站建设江西
  • 如何在后台做网站分页wordpress 群发邮件
  • 会员中心网站模板买公司 网站建设
  • 微信网站域名备案成功后怎么做wordpress做出影视网站
  • 佛山网站优化包年如何建立网站数据库连接
  • 怎么自己在家做网站手机免费建立网站吗
  • 百度不收录网站怎么办公司官网开发
  • 给网站添加代码长沙高校网站制作公司
  • 郑州网站建设排行榜微信软文范例大全100
  • 自己弄网站需要多少钱网站页面设计布局