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

b站户外打野/整合营销推广

b站户外打野,整合营销推广,网站托管哪家好,深圳 微网站建设ydgcm有时候我们在用mbatis做dao层的时候会遇到一些比较棘手的问题,比如无限极分类查询,因为mybatis是根据sql进行查询的,而sql是无法直接进行无限极分类查询的,所以我们就要想想其他办法,通过查找资料,我们发现…

有时候我们在用mbatis做dao层的时候会遇到一些比较棘手的问题,比如无限极分类查询,因为mybatis是根据sql进行查询的,而sql是无法直接进行无限极分类查询的,所以我们就要想想其他办法,通过查找资料,我们发现,可以通过在mybatis中association标签使用select关键字就可以引入另一条sql,这样我们就可以进行无限极分类了,代码如下

首先我们创建一个数据库表,并插入测试用的数据,如下

CREATE TABLE catalog(
id INT(30)  AUTO_INCREMENT PRIMARY KEY,
NAME VARCHAR(32),
pid INT(30)
)INSERT INTO catalog (NAME,pid) VALUES ('水果',0)
INSERT INTO catalog (NAME,pid) VALUES ('饮料',0)
INSERT INTO catalog (NAME,pid) VALUES ('蔬菜',0)
INSERT INTO catalog (NAME,pid) VALUES ('热带水果',1)
INSERT INTO catalog (NAME,pid) VALUES ('芒果',4)
INSERT INTO catalog (NAME,pid) VALUES ('象牙芒果',5)
INSERT INTO catalog (NAME,pid) VALUES ('矿泉水',2)
INSERT INTO catalog (NAME,pid) VALUES ('农夫山泉',7)

创建实体类

package com.example.demo.domain;public class Catalog {private Integer id;private String name;private Catalog catalog;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name == null ? null : name.trim();}public Catalog getCatalog() {return catalog;}public void setCatalog(Catalog catalog) {this.catalog = catalog;}
}

catalog对应的mapper

package com.example.demo.mapper;import com.example.demo.domain.Catalog;
import org.springframework.stereotype.Repository;import java.util.List;
@Repository
public interface CatalogMapper {List<Catalog> selectAll();
}

还有我们最重要的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.example.demo.mapper.CatalogMapper"><resultMap id="BaseResultMap" type="com.example.demo.domain.Catalog"><id column="id" jdbcType="INTEGER" property="id" /><result column="name" jdbcType="VARCHAR" property="name" /><!--我们可以利用association的select关键字进行查询,他可以关联另一条sql,方便我们进行查询子目录--><association column="id" jdbcType="INTEGER" property="catalog" select="selectByPid"/></resultMap><!--这是查询子目录的sql,条件是父级的id--><select id="selectByPid" resultMap="BaseResultMap">select id,name,pid from catalog where pid=#{id};</select><!--我们在项目中进行查询的时候尽量不要用*号,尽量把要查询的字段写全,这样可以提高效率 -->
 <!--为了给读者更好的呈现出分类的效果,我这里只查一级分类,也就是pid为0的,通过一级分类去查子目录,孙目录......-->
<select id="selectAll" resultMap="BaseResultMap">select id,name from catalog where pid=0</select> </mapper>

这是测试类,为了省事,我直接使用springboot了

package com.example.demo;import com.example.demo.domain.Catalog;
import com.example.demo.mapper.CatalogMapper;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.Calendar;
import java.util.List;@SpringBootApplication
@RestController
@MapperScan("com.example.demo.mapper")
public class DemoApplication {@Autowiredprivate CatalogMapper catalogMapper;@GetMapping("/getCatalog")public List<Catalog> getCatalog(){List<Catalog> catalogs = catalogMapper.selectAll();return catalogs;}public static void main(String[] args) {SpringApplication.run(DemoApplication.class, args);}}

 

这是最终的结果,我直接采用json进行显示了

[{"id": 1,"name": "水果","catalog": {"id": 4,"name": "热带水果","catalog": {"id": 5,"name": "芒果","catalog": {"id": 6,"name": "象牙芒果","catalog": null}}}},{"id": 2,"name": "饮料","catalog": {"id": 7,"name": "矿泉水","catalog": {"id": 8,"name": "农夫山泉","catalog": null}}},{"id": 3,"name": "蔬菜","catalog": null}
]

这是项目结构

 

转载于:https://www.cnblogs.com/liouzeshuen/p/10428212.html

http://www.lbrq.cn/news/1427995.html

相关文章:

  • 途牛网站建设方案/线上it培训机构
  • 仿做网站可以整站下载器吧/郑州seo教程
  • 政府类型网站/济南seo外贸网站建设
  • 数字媒体技术移动互联网开发/天桥区seo全网宣传
  • 胶州网站建设电话/怎么关闭seo综合查询
  • 做java面试题网站/专门看广告的网站
  • wordpress 电商网站/重庆百度整站优化
  • 网页单机游戏/冯宗耀seo教程
  • 民族文化网站建设的作用/首页关键词排名代发
  • 最优的网站建设/昆明做网站的公司
  • 2017网站建设有市场吗/网站seo哪家好
  • 日本樱花云服务器网站推荐/北京seo优化费用
  • 广州手机建设网站/视频剪辑培训
  • 如何找百度做网站/网店
  • 生产企业网站建设/如何创建微信小程序
  • 金融服务网站建设/seo计费系统开发
  • 中山做网站联系电话/情感链接
  • 百度推广免费建站/广东网络推广运营
  • 用网站做平台有哪些/新手小白怎么学做运营
  • 网站建设业务平均工资/近期国家新闻
  • 网站开发界面图标设计/郑州seo关键词
  • 有没有专门做飞卢小说盗版的网站/大数据比较好的培训机构
  • 聊城做网站网络公司/如何做企业网站
  • php网站有哪些/网站引流推广
  • 网站开发如何dw中小手/市场营销计划书模板
  • wordpress评论通知站长/百度小说风云榜排行榜官网
  • 游仙区专业网站建设价格/抖音seo优化公司
  • 株洲的网络营销公司有哪些/山西seo优化
  • 网站建设顺序/美容美发培训职业学校
  • wordpress手机导航栏设置/搜索引擎优化的主要手段
  • docker入门
  • 【科研绘图系列】R语言绘制蝶形条形图蝶形柱状堆积图
  • 【软考中级网络工程师】知识点之常用网络诊断和配置命令
  • 20道Vue框架相关前端面试题及答案
  • 手写MyBatis第16弹:泛型魔法应用:MyBatis如何破解List的运行时类型
  • Rabbitmq+STS+discovery_k8s +localpv部署排坑详解