springboot查询数据库,js实现二级联动效果

1.数据库设计

实现oracle,mysql不同数据库链接不同的数据类型

2.在跳转到添加页面的时候,去数据库查询parent_id=0的数据,存入modelMap中带入add.html页面

@GetMapping("/add")
public String add(ModelMap mmap) {
   //查询数据库类型,返回oracle和mysql等数据库
   List<DatabaseVo> databaseVo = matedataService.selectDatabases();
   mmap.addAttribute("databases",databaseVo);return "/add";}

返回的数据使用自定义DatabaseVo来接收;

public class DatabaseVo implements Serializable {
    private static final long serialVersionUID = 1L;
    //编号
    private Long id;
    //数据库名称
    private String name;}

3.跳转到add.html页面

<div class="form-group">
    <label class="col-sm-3 control-label">数据库类型:</label>
        <div class="col-sm-8">
             <select class="form-control m-b" id="database" th:name="databaseId">
                  <option value="">请选择数据库</option>
                  <option th:each="database : ${databases}" th:value="${database.id}" th:text="${database.name}"></option>
             </select>
      </div>
</div>
<div class="form-group">     <label class="col-sm-3 control-label">数据项类型:</label>        <div class="col-sm-8">                <select name="type" id="types" class="form-control m-b" >

                </select>        </div></div>

4.js二级联动代码实现

    $("#database").change(function () {
        var databaseId = $("#database").val();
        if (databaseId == null) {
            return;
        }
        $.ajax({
            cache: true,
            type: "get",
            url: prefix + "/getTypeByDataBaseId",
            data: {"databaseId": databaseId},
            success: function (data) {
                console.log(data);
                var types = $("#types").empty();
                for (var i = 0; i < data.data.length; i++) {
                    types.append("<option value = ‘"+ data.data[i].name + "‘>" + data.data[i].name + "</option>");
                }
            }
        })
    })

5.根据数据库id去查询旗下的数据类型,返回的数据跟数据库一致

    @GetMapping("/getTypeByDataBaseId")
    @ResponseBody
    public AjaxResult getTypeByDataBaseId (@RequestParam("databaseId") Long id) {
        //根据数据库Id查询对应的数据类型
        List<TypeVo> typeVo = matedataService.selectTypesByDatabaseId(id);
        if (typeVo == null) {
            throw new RuntimeException("数据为空!");
        }
        return AjaxResult.success(typeVo);
    }

6.实现效果

======================================================================================

======================================================================================

7.总结

基本上的实现思路就是如此,数据库设计因人而异,有些细节可能大家的不一样,调整一下即可。

原文地址:https://www.cnblogs.com/sun2020/p/12642743.html

时间: 2024-07-31 01:02:36

springboot查询数据库,js实现二级联动效果的相关文章

(转)JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动

JavaScript html js 地区二级联动,省市二级联动,省市县js+xml三级联动 原文链接:http://heisetoufa.iteye.com/blog/353974 比较好的二级联动: 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> 2 <HTML> 3 <HEAD> 4 <TITLE> New Document </TITLE>

JavaScript实现Div二级联动效果(响应键盘按钮)

最近在学习javascript,给了一个题目给我,写一个二级联动效果.当做练习. 写一个二级联动的HTML页面,具体要求如下: 1.页面支持通过键盘上的上下左右键实现焦点的移动 2.页面左侧为父栏目名称,如电影.电视剧.体育.音乐.少儿.综艺.咨询等 3.焦点在对应父栏目上时,展示子栏目信息,如电影栏目下有1,2,3,4,5等子栏目: 4.页面数据为静态数据,可以配置修改: 效果: <html> <head> <title>二级联动</title> <

JS制作二级联动

JS制作二级联动 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="

新生入学--JS省市二级联动下拉框

在新生入学过程中,会添加自己的个人信息,如生源地或者家庭住址等.像这样的信息如果让学生自己输入可能会出现不规范的现象,我们做统计的时候很不方便,所以设计成下拉框选择的形式,这样存进数据库中的数据就都是规范的了. 籍贯的选择涉及到我们全国的34个省市等,而且选择了每个省之后要相应的知道这个省的市到县,这就用到了下拉框的联动.以前在ASP.NET中是用过的,当时是两个控件的联动从数据库中直接查数据,在JS中也是同样的道理. 联动效果如下图: 接着说说代码,用到了JavaScript和html以及一些

原生js :省市二级联动

在网上把了半天像二级联动, 多是:依赖于其他框架数据修改... 于是就有了下面自写的二级联动(原生JS,面向对象,数据可订制修改不局限于省市) <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>二级联动</title> </head> <body> <

js实现图片联动效果

一.实现理论基础: (1)使用定时器setInterval(),完成动画效果: (2)使用json传值,实现多个属性同时动画效果(比如:宽度,高度,透明度等可以一起进行动画效果): (3)使用回调函数,实现链式动画(就是宽度值增大到目的值,然后继续宽度值减小的变化): (4)使用目标值减去初始值除以一个值(比如10),得到每次变化的增量,可以使得动画效果从初始值到目标值有个过度的过程,以不同的增量进行变化,而不是瞬间完成. speed=(json[attr]-curr)/10 (5)使用一个标志

js省市二级联动菜单,IE6,FF下测试通过

<html> <head> <meta http-equiv="Content-Language" content="zh-cn" /> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>二级联动js,IE6,FF下测试通过</title> <s

js省市二级联动实例

//动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><select id="province" onchange="func1(this)"> </sele

JS——省市二级联动

1.核心代码: <script> var cities = new Array(11); cities[0] = new Array("东城区","西城区" ,"崇文区", "宣武区" ,"朝阳区" ,"丰台区","石景山区" ,"海淀区门" ,"头沟区"); cities[1] = new Array(); cit