zoukankan      html  css  js  c++  java
  • 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.总结

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

  • 相关阅读:
    Unity Shader 基础(3) 获取深度纹理
    Unity Shader 基础(1): RenderType & ReplacementShader
    【Unity游戏开发】AssetBundle杂记--AssetBundle的二三事
    【Unity游戏开发】马三的游戏性能优化自留地
    【Unity游戏开发】跟着马三一起魔改LitJson
    【年终总结】马三京沪漂流记之2019年总结
    【Unity游戏开发】接入UWA_GOT的iOS版SDK以后无法正常出包
    【马三沪漂浮生记】之见闻壹
    【Unity游戏开发】性能优化之在真机上开启DeepProfile与踩坑
    【马三北漂记】之终章
  • 原文地址:https://www.cnblogs.com/sun2020/p/12642743.html
Copyright © 2011-2022 走看看