layui表格后端连接数据库


前言

之前也用过layui写项目,关于给到的数据接口都没用过,都是用的原生获取数据,真的就只是为了它的ui界面用而用,在这次的课设里,我想要去了解layui给到的接口,有所收获,之前查找资料也没找到具体的关于表格接口的使用,在这里写个笔记,也供自己和同行一起学习。不足的地方,欢迎指出。


一、JDBC连接数据库

   // 在此处获取数据并返回
        String url="jdbc:mysql://localhost:3306/salary";
        String dbUsername="root";
        String dbPassword="123456";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection= DriverManager.getConnection(url,dbUsername,dbPassword);

如果connection不为null,则连接成功
这里我获取一张数据库里的表数据

//设置servelet的路径
@WebServlet("/data")
public class servlet extends HttpServlet {
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 在此处获取数据并返回
        String url="jdbc:mysql://localhost:3306/salary";
        String dbUsername="root";
        String dbPassword="123456";
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection connection= DriverManager.getConnection(url,dbUsername,dbPassword);

            String sql = "SELECT * FROM salary_staff ";
            PreparedStatement pstmt = connection.prepareStatement(sql);

            ResultSet rs = pstmt.executeQuery();
            //用一个链表装map集合,每一个map集合都是一个值对象
            List<Map<String, Object>> recordList = new ArrayList<>();
            while (rs.next()) {
                Map<String, Object> recordMap = new HashMap<>();
                recordMap.put("id", rs.getInt("id"));
                recordMap.put("number", rs.getString("number"));
                recordMap.put("name", rs.getString("name"));
                recordMap.put("age_salary", rs.getString("age_salary"));
                recordMap.put("work_salary", rs.getString("work_salary"));
                // 以此类推,将每个字段名和字段值存入Map
                recordList.add(recordMap);
            }
			//创建一个map对象,设置layui接口的对应的数据格式
            Map<String, Object> result = new HashMap<>();
            result.put("code", 0); // 设置响应状态码,0 表示成功
            result.put("msg", ""); // 设置响应消息,这里可以不设置
            result.put("count", recordList.size()); // 设置数据总数
            result.put("data", recordList); // 设置数据列表

			//将获取的数据转换为json格式
            Gson gson = new Gson();
            String resultJson = gson.toJson(result);
			//编码设置
            response.setContentType("application/json;charset=utf-8");
            response.getWriter().write(resultJson); // 将数据以 JSON 格式返回
        } catch (ClassNotFoundException | SQLException e) {
            throw new RuntimeException(e);
        }
    }

二、layui表格的url

<script>
  layui.use(function(){
    var $ = layui.$;
    var table = layui.table;
    // 渲染
    table.render({
      elem: '#ID-table-demo-filter',
      url:'/IMS_for_Productive_Enterprises_war_exploded/data', // 这里我的路径用过data,/data,/项目名/data都不起效果
      toolbar: 'default',
      height: 315,
      cols: [function(){
        var arr = [
          {field:'id', title:'ID', width:80, fixed: 'left'},
          {field:'number', title:'工号', width:120},
          {field:'name', title:'姓名'},
          {field:'age_salary', title:'工龄工资'},
          {field:'work_salary', title:'岗位工资'}
        ];

        // 初始化筛选状态
        var local = layui.data('table-filter-test'); // 获取对应的本地记录
        layui.each(arr, function(index, item){
          if(item.field in local){
            item.hide = local[item.field];
          }
        });
        return arr;
      }() ],
      done: function(){
        // 记录筛选状态
        var that = this;
        that.elem.next().on('mousedown', 'input[lay-filter="LAY_TABLE_TOOL_COLS"]+', function(){
          var input = $(this).prev()[0];
          // 此处表名可任意定义
          layui.data('table-filter-test', {
            key: input.name
            ,value: input.checked
          })
        });
      }
    });
  });
</script>

当我发现网址是这个样子的时候,我将中间的复制粘贴到路径中,竟然很神奇的解决了,数据能够正确的显示出来了,因为jsp是很久之前学的,忘了是怎么一回事了,先在这里做个笔记,能够帮助到同行的朋友我将非常荣幸,同时有大佬能帮我解除疑惑提前感谢。
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Layui表格数据库操作需要通过后台编写,具体的实现方式与后端语言相关。以下以PHP语言为例,示范如何进行数据库操作: 1. 连接数据库 在PHP代码中,需要先连接数据库才能进行后续的操作。连接方式如下: ```php //数据库连接信息 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "test"; //创建连接 $conn = mysqli_connect($servername, $username, $password, $dbname); //检查连接是否成功 if (!$conn) { die("连接失败: " . mysqli_connect_error()); } ``` 2. 查询数据 使用SQL语句查询数据库中的数据,并将结果返回给前端页面。示例代码如下: ```php $sql = "SELECT * FROM users"; $result = mysqli_query($conn, $sql); if (mysqli_num_rows($result) > 0) { //将结果转换为数组格式 $data = array(); while($row = mysqli_fetch_assoc($result)) { $data[] = $row; } //将结果转换为JSON格式并返回 echo json_encode(array( "code" => 0, "msg" => "", "count" => count($data), "data" => $data )); } else { echo json_encode(array( "code" => 1, "msg" => "没有找到任何记录" )); } ``` 3. 插入数据 使用SQL语句向数据库中插入数据。示例代码如下: ```php $sql = "INSERT INTO users (name, age, gender) VALUES ('张三', 20, '男')"; if (mysqli_query($conn, $sql)) { echo "插入成功"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } ``` 4. 更新数据 使用SQL语句更新数据库中的数据。示例代码如下: ```php $sql = "UPDATE users SET age=21 WHERE name='张三'"; if (mysqli_query($conn, $sql)) { echo "更新成功"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } ``` 5. 删除数据 使用SQL语句从数据库中删除数据。示例代码如下: ```php $sql = "DELETE FROM users WHERE name='张三'"; if (mysqli_query($conn, $sql)) { echo "删除成功"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } ``` 以上是通过PHP语言进行Layui表格数据库操作的示例代码,其他后端语言的实现方式类似。需要注意的是,在实际开发中,需要根据具体的业务需求进行适当的调整和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叼馋爱偷猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值