Layui+Ajax+dao+servlet完成增,删,改,查

展示效果

 

 

 

查询所有页面

 创建一个web工程并把所有jar放入web-info/lib下

 把layui的插件下载并导入

把网页中引入layui相关的css和js

 

编写自己的网页

 

编写servlet

 

编写dao

package com.zkm.dao;

import com.zkm.entity.User;

import java.util.ArrayList;
import java.util.List;

public class UserDao extends BaseDao{
    //查询所有记录
    public List<User> queryAll() {
         List<User> list=new ArrayList<>();
         try {
             getConnection();
             String sql = "select * from tb_user";
             ps = connection.prepareStatement(sql);
             resultSet = ps.executeQuery();
             while (resultSet.next()) {
                 User user = new User();
                 user.setUserId(resultSet.getInt("userId"));
                 user.setSex(resultSet.getInt("sex"));
                 user.setUsername(resultSet.getString("username"));
                 user.setRealname(resultSet.getString("realname"));
                 user.setPassword(resultSet.getString("password"));
                 list.add(user);
             }
         }catch (Exception e){
             e.printStackTrace();
         }finally {
             closeAll();
         }

         return list;
    }
    //查询该表得总条数
    public Integer count() {
        try {
            getConnection();
            String sql = "select count(*) as c from tb_user";
            ps = connection.prepareStatement(sql);
            resultSet = ps.executeQuery();
            while (resultSet.next()) {
                return resultSet.getInt("c");
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            closeAll();
        }
        return 0;
    }

}

编写user实体类和tableLayui实体

package com.zkm.entity;

public class User {
    private Integer userId;
    private String username;
    private String password;
    private String realname;
    private Integer sex;

    @Override
    public String toString() {
        return "User{" +
                "userId=" + userId +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", realname='" + realname + '\'' +
                ", sex=" + sex +
                '}';
    }

    public User() {
    }

    public User(Integer userId, String username, String password, String realname, Integer sex) {
        this.userId = userId;
        this.username = username;
        this.password = password;
        this.realname = realname;
        this.sex = sex;
    }

    public User(String username, String password, String realname, Integer sex) {
        this.username = username;
        this.password = password;
        this.realname = realname;
        this.sex = sex;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRealname() {
        return realname;
    }

    public void setRealname(String realname) {
        this.realname = realname;
    }
}
package com.zkm.util;

public class TableLayui {
    private Integer code=0; //状态码
    private String msg=""; //信息
    private Integer count; //总条数
    private Object data; //表格数据

    public TableLayui() {
    }

    public TableLayui(Integer code, String msg, Integer count, Object data) {
        this.code = code;
        this.msg = msg;
        this.count = count;
        this.data = data;
    }

    public Integer getCode() {
        return code;
    }

    public void setCode(Integer code) {
        this.code = code;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Object getData() {
        return data;
    }

    public void setData(Object data) {
        this.data = data;
    }
}

添加分页功能

(1)网页

 (2)servlet

 (3)dao

 添加删除和修改按钮

 添加相应事件

 完成删除功能

 后台代码:servlet

 公共结果类

public class CommonResult {
     private Integer code; //状态码
     private String msg; //消息
     private Object data; //数据
}

添加表格头部工具栏

 表格头部工具栏添加监听事件

 出现添加表单的弹出层

<%--表单--%>
<form  style="display: none;margin: 0 10px" class="layui-form" action="" id="userForm">
  <div class="layui-form-item">
    <label class="layui-form-label">账号:</label>
    <div class="layui-input-inline">
      <input type="text" name="username" lay-verify="title" autocomplete="off" placeholder="请输入标题" class="layui-input">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">密码:</label>
    <div class="layui-input-inline">
      <input type="text" name="password" lay-verify="required" lay-reqtext="用户名是必填项,岂能为空?" placeholder="请输入密码" autocomplete="off" class="layui-input">
    </div>
  </div>
  <div class="layui-form-item">
    <div class="layui-inline">
      <label class="layui-form-label">真实姓名:</label>
      <div class="layui-input-inline">
        <input type="tel" name="realname"  autocomplete="off" class="layui-input">
      </div>
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">性别:</label>
    <div class="layui-input-block">
      <input type="radio" name="sex" value="男" title="男" checked="">
      <input type="radio" name="sex" value="女" title="女">
    </div>
  </div>
  <div class="layui-form-item">
    <div class="layui-input-block">
      <input type="button" class="layui-btn" lay-submit="" lay-filter="submitUser" value="立即提交">
      <input type="reset" class="layui-btn layui-btn-primary" value="重置">
    </div>
  </div>
</form>

 确认添加

servlet

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一个比较复杂的问题,需要涉及到前端框架 layui 和 fullcalendar 以及后端框架 Spring Boot 和 JPA 的使用。我可以给你提供一些思路和代码片段供参考。 前端部分: 1. 在 HTML 页面中引入 layui 和 fullcalendar 的相关资源文件。 ```html <link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.7/css/layui.css" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.css" /> <script src="https://cdn.staticfile.org/layui/2.5.7/layui.all.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.js"></script> ``` 2. 在 HTML 页面中添加一个用于显示日历的 div 元素。 ```html <div id="calendar"></div> ``` 3. 在 JavaScript 中初始化 fullcalendar,并获取后端返回的日程列表数据。 ```javascript layui.use(['layer'], function() { var layer = layui.layer; $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, defaultView: 'month', editable: true, events: function(start, end, timezone, callback) { $.ajax({ url: '/events', type: 'GET', dataType: 'json', success: function(response) { var events = []; response.forEach(function(event) { events.push({ id: event.id, title: event.title, start: event.startTime, end: event.endTime }); }); callback(events); }, error: function() { layer.alert('获取日程列表失败'); } }); } }); }); ``` 4. 在 JavaScript 中添加一个用于弹出添加日程的表单的函数。 ```javascript function addEvent() { layer.open({ type: 1, title: '添加日程', content: $('#add-event-form'), area: ['500px', 'auto'], btn: ['保存', '取消'], yes: function(index, layero) { // 提交表单数据并保存日程 $.ajax({ url: '/events', type: 'POST', data: $('#add-event-form').serialize(), success: function() { $('#calendar').fullCalendar('refetchEvents'); layer.close(index); }, error: function() { layer.alert('添加日程失败'); } }); } }); } ``` 后端部分: 1. 创建一个实体类 Event,用于表示日程信息。 ```java @Entity public class Event { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String title; @Temporal(TemporalType.TIMESTAMP) private Date startTime; @Temporal(TemporalType.TIMESTAMP) private Date endTime; // 省略 getter 和 setter 方法 } ``` 2. 创建一个 EventRepository 接口,继承 JpaRepository,用于对 Event 实体进行操作。 ```java public interface EventRepository extends JpaRepository<Event, Long> { } ``` 3. 创建一个 EventController 类,用于处理前端请求。 ```java @RestController public class EventController { @Autowired private EventRepository eventRepository; @GetMapping("/events") public List<Event> list() { return eventRepository.findAll(); } @PostMapping("/events") public void add(@Valid Event event) { eventRepository.save(event); } @PutMapping("/events/{id}") public void update(@PathVariable Long id, @Valid Event event) { event.setId(id); eventRepository.save(event); } @DeleteMapping("/events/{id}") public void delete(@PathVariable Long id) { eventRepository.deleteById(id); } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值