日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot+Bootstrap實現增刪改查實戰

瀏覽:141日期:2023-04-02 13:06:15
說明

最近有朋友問我有沒有Springboot+Bootstrap實現增刪改查的DEMO,當時沒有,現在他來了!

實現效果

Springboot+Bootstrap實現增刪改查實戰

代碼地址

https://gitee.com/indexman/bootstrap_curd

水平一般能力有限,覺得有用的朋友給我來個一鍵三連或捐助:)

軟件架構

前端:bootstrap4.5+thymeleaf+分頁插件后端:spring boot+mybatisPlus數據庫:mysql

核心功能代碼

前端

<!DOCTYPE html><html xmlns='http://www.w3.org/1999/xhtml' xmlns:th='http://www.thymeleaf.org'><head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>用戶管理</title> <link rel='external nofollow' rel='stylesheet'> <style type='text/css'> .container { padding: 20px; } .search { padding-bottom: 20px; border-bottom: 1.5px solid #ddd; } #add { margin-right: 5em; } #search { margin-left: 0.5em; } .pagination { display: flex; padding-left: 0; margin: 20px 0; border-radius: 4px; } .pagination>li:last-child>a, .pagination>li:last-child>span { border-top-right-radius: 4px; border-bottom-right-radius: 4px; } .pagination>li:first-child>a, .pagination>li:first-child>span { margin-left: 0; border-top-left-radius: 4px; border-bottom-left-radius: 4px; } .pagination>.active>a, .pagination>.active>a:focus, .pagination>.active>a:hover, .pagination>.active>span, .pagination>.active>span:focus, .pagination>.active>span:hover { z-index: 3; color: #fff; cursor: default; background-color: #337ab7; border-color: #337ab7; } .pagination>li>a, .pagination>li>span { position: relative; float: left; padding: 6px 12px; margin-left: -1px; line-height: 1.42857143; color: #337ab7; text-decoration: none; background-color: #fff; border: 1px solid #ddd; cursor: pointer; } </style></head><body><div class='container'> <input type='text' hidden='hidden' th:value='${#request.getContextPath()}'> <div class='search'> <div class='input-group col-md-8'> <button type='button' id='add'>添加 </button> <input type='text' placeholder='請輸入賬號,按回車鍵'> <span class='input-group-btn'><button type='button' id='search'>查詢</button></span> </div> </div> <div class='row'> <div class='col-md-12'> <div class='portlet'><div class='category-list'> <table id='dataTable'> <thead> <tr> <th>用戶名</th> <th>郵箱</th> <th>姓名</th> <th>創建時間</th> <th>操作</th> </tr> </thead> <tbody> </tbody> </table></div> </div> </div> </div> <div class='row'> <div style='position: fixed; bottom: 20%;'> <!-- 分頁控件,標簽必須是<ul> --> <ul class='pagination-centered'></ul> </div> </div></div><!--編輯框--><div tabindex='-1' role='dialog' aria-labelledby='myModalLabel' aria-hidden='true'> <div class='modal-dialog'> <div class='modal-content'> <div class='modal-header'><h5 id='exampleModalLabel'>修改用戶</h5><button type='button' data-dismiss='modal' aria-label='Close'> <span aria-hidden='true'>&times;</span></button> </div> <div class='modal-body'><input type='text' hidden='hidden'><div class='form-group'> <label for='m_username'>用戶名:</label> <input type='text' placeholder=''></div><div class='form-group'> <label for='m_email'>郵箱:</label> <input type='text' placeholder=''></div><div class='form-group'> <label for='m_truename'>姓名:</label> <input type='text' placeholder=''></div> </div> <div class='modal-footer'><button type='button' data-dismiss='modal'>關閉</button><button type='button' onclick='modify()'>提交</button> </div> </div> <!-- /.modal-content --> </div> <!-- /.modal --></div><script src='https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js'></script><script src='https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.3/js/bootstrap.min.js'></script><script th:src='http://www.b3g6.com/bcjs/@{/js/bootstrap-paginator.js}'></script><script src='http://www.b3g6.com/js/util.js' th:src='http://www.b3g6.com/bcjs/@{/js/util.js}'></script><script type='text/javascript'> var ctx = $('#ctx').val(); $(function () { // 查詢第一頁數據 getPage(1); // 新增 $('#add').click(function () { reset(); $(’#modify’).modal(’show’); }); // 搜索 $('#search').click(function () { getPage(1); }); // 回車觸發查詢 $('#username').keyup(function (event) { if (event.keyCode == 13) {$('#search').trigger('click'); } }); }); // 獲取指定頁碼的數據 function getPage(pageNo) { var dataRow = ''; $.ajax({url: ctx + '/user/list',type: 'post',data: { 'username': $('#username').val(), 'pageNo': pageNo},dataType: 'json',success: function (response) { dataRow = ''; if (response.data.records.length > 0) { console.log(111) $.each(response.data.records, function (i, r) { dataRow += ’<tr>’+ ’<td>’+ r.username+ ’</td>’+ ’<td>’+ r.email+ ’</td><td>’+ r.truename + ’</td>’ ; dataRow += ’<td>’ + new Date(r.createTime).Format('yyyy-MM-dd hh:mm:ss') + ’</td><td><a href='javascript:remove(’ + r.id + ’)' rel='external nofollow' style='color: #CA0C16;'>刪除’ +’</a>&nbsp;&nbsp;<a href='javascript:edit(’ + r.id + ’)' rel='external nofollow' >編輯</a></td></tr>’; }); } // console.log(dataRow); $('#dataTable tbody').empty(); $('#dataTable tbody').append(dataRow); // 分頁按鈕 var element = $(’#pageButton’); var options = { bootstrapMajorVersion: 4, currentPage: pageNo, // 當前頁數 numberOfPages: 5, // 顯示按鈕的數量 totalPages: response.data.pages, // 總頁數 itemTexts: function (type, page, current) { switch (type) {case 'first': return '首頁';case 'prev': return '上一頁';case 'next': return '下一頁';case 'last': return '末頁';case 'page': return page; } }, // 點擊事件,用于通過Ajax來刷新整個list列表 onPageClicked: function (event, originalEvent, type, page) { getPage(page); } }; element.bootstrapPaginator(options);} } ) } //刪除 function remove(id) { if (confirm('確定刪除數據?')) { $.ajax({type: 'POST',url: ctx + '/user/remove',traditional: true,data: { id: id},success: function (data) { getPage(1);},error: function (e) { //alert('ERROR: ', e); console.log('ERROR: ', e);} }); } } function edit(id) { $.ajax({ url: ctx + '/user/' + id, type: 'GET', success: function (result) {if (result.success) { //向模態框中傳值 $(’#m_id’).val(id); $(’#m_username’).val(result.data.username); $(’#m_email’).val(result.data.email); $(’#m_truename’).val(result.data.truename);} else { alert(result.data.message);} } }); $(’#modify’).modal(’show’); } //提交修改 function modify() { //獲取模態框數據 var id = $('#m_id').val(); var username = $('#m_username').val(); var email = $('#m_email').val(); var truename = $('#m_truename').val(); var param = {'id': id, username: username, email: email, truename: truename}; $.ajax({ url: ctx + '/user/modify', type: 'POST', contentType: 'application/json', dataType: 'json', data: JSON.stringify(param), success: function (data) {if (data.success) { // 清空表單 reset(); $(’#modify’).modal(’hide’); getPage(1);} else { alert(data.message);} } }); } function reset() { $('#m_id').val(''); $('#m_username').val(''); $('#m_email').val(''); $('#m_truename').val(''); }</script></body></html>

后端

@RequestMapping('/user')@Controllerpublic class UserController { @Autowired private UserService userService; @RequestMapping public String user(){ return 'user'; } @GetMapping('/{id}') @ResponseBody public Result<User> get(@PathVariable Integer id){ User user = userService.getById(id); return ResultUtil.ok(user); } /** * 分頁查詢 * @param username * @param pageNo * @param pageSize * @return */ @PostMapping('/list') @ResponseBody public Result<IPage<User>> list(@RequestParam(value = 'username', required = false) String username, @RequestParam(defaultValue = '1') Integer pageNo, @RequestParam(defaultValue = '10') Integer pageSize){ // 構造查詢條件 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); if(!StringUtils.isEmpty(username)){ queryWrapper.like('username',username); queryWrapper.orderByDesc('create_time'); } Page<User> page = new Page<>(pageNo,pageSize); IPage<User> result = userService.page(page, queryWrapper); // 設置總記錄數 result.setTotal(userService.count(queryWrapper)); return ResultUtil.ok(result); } @PostMapping('/add') @ResponseBody public Result<String> add(@RequestBody User user){ userService.save(user); return ResultUtil.ok('添加成功!'); } @PostMapping('/modify') @ResponseBody public Result<String> modify(@RequestBody User user){ userService.saveOrUpdate(user); return ResultUtil.ok('修改成功!'); } @PostMapping('/remove') @ResponseBody public Result<String> remove(@RequestParam Integer id){ userService.removeById(id); return ResultUtil.ok('刪除成功!'); }}

到此這篇關于Springboot+Bootstrap實現增刪改查實戰的文章就介紹到這了,更多相關Springboot+Bootstrap增刪改查內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产午夜久久av| 色婷婷色综合| 日韩欧美午夜| 久久精品资源| 卡一精品卡二卡三网站乱码| 国产精品一区二区三区www| 日韩精品免费视频人成| 在线观看亚洲精品福利片| 日韩黄色大片| 福利一区和二区| 狠狠久久伊人中文字幕| 精品99在线| 欧美国产偷国产精品三区| 国产一区二区视频在线看| 麻豆久久一区二区| 久久精品伊人| 久久麻豆视频| 麻豆精品新av中文字幕| 国产精品黄色| 久久久精品区| 在线手机中文字幕| 99久久婷婷| 国产精品三上| 亚洲天堂黄色| 视频在线在亚洲| 亚洲精品日本| 久久的色偷偷| 88xx成人免费观看视频库| 99精品在线观看| 在线 亚洲欧美在线综合一区| 99成人在线| 亚洲bt欧美bt精品777| 青青青国产精品| 美女久久久精品| 久久国产日韩| 亚洲午夜国产成人| 国产精品成人一区二区网站软件| 精品视频99| 日韩国产一区| 红桃视频国产精品| 日本aⅴ精品一区二区三区| 国产极品一区| 久久精品主播| 伊人国产精品| 久久av中文| 欧美日韩在线二区| 亚洲精品激情| 水蜜桃久久夜色精品一区| 国产一区久久| 日韩黄色av| 97精品国产| 99在线精品视频在线观看| 日韩国产在线一| 国产精品黄网站| 亚洲精品国产嫩草在线观看 | 久久精品三级| 激情欧美国产欧美| 日本aⅴ亚洲精品中文乱码| 福利片在线一区二区 | 99久久夜色精品国产亚洲狼| 一本一道久久a久久| 九九久久国产| 九色porny丨国产首页在线| 日韩精品久久久久久| 日韩精品中文字幕第1页| 热久久免费视频| 国产成人免费精品| 视频一区在线播放| 国产成年精品| 在线观看视频免费一区二区三区| 国产一区二区三区不卡av| 亚洲免费成人| 精品国产欧美日韩一区二区三区| 亚洲视频www| 精品一区二区三区的国产在线观看| 不卡中文字幕| 精品一区av| 欧美特黄一区| 国产精品成人a在线观看| 99国产精品视频免费观看一公开| 免费观看亚洲天堂| 亚洲自啪免费| 樱桃视频成人在线观看| 日本va欧美va欧美va精品| 亚洲欧美伊人| 久久久久久网| 国产精品.xx视频.xxtv| 婷婷亚洲精品| 黑丝一区二区| 日韩在线中文| 国产精品久久久久77777丨| 免费成人在线影院| 国产精品精品| 欧美日韩午夜| 免播放器亚洲一区| 欧美va天堂在线| 麻豆mv在线观看| 国产精品一二| 91精品麻豆| 中文字幕乱码亚洲无线精品一区| 欧美日韩水蜜桃| 成人亚洲欧美| 水蜜桃久久夜色精品一区| 国产精品任我爽爆在线播放| 一区二区电影| 麻豆亚洲精品| 亚洲激情不卡| 中文在线а√天堂| 狂野欧美性猛交xxxx| 欧美综合社区国产| 午夜性色一区二区三区免费视频| 欧美日韩国产综合网| 色婷婷久久久| 日韩国产欧美一区二区| 精品久久97| 国产一区二区三区亚洲| 欧美国产另类| 欧美激情亚洲| 久久影院一区二区三区| 国产精品大片| 国产日韩一区| 欧美久久精品| 日韩精品午夜视频| 亚洲日韩中文字幕一区| 视频一区欧美日韩| 久久国产精品毛片| 亚洲综合三区| 久久国产66| 亚洲色图国产| 亚洲日本三级| 日本在线观看不卡视频| 日韩高清三区| 国产伦精品一区二区三区视频 | 国产精品白丝av嫩草影院| 欧美日韩亚洲一区二区三区在线| 三级久久三级久久久| 亚洲3区在线| 日韩高清不卡一区二区| 欧美日韩在线精品一区二区三区激情综合| 日韩综合小视频| 欧美在线看片| 国产精品**亚洲精品| 国产一区二区三区四区五区传媒| 国产一区二区亚洲| 三级小说欧洲区亚洲区| 欧美日韩精品在线一区| 欧美男人天堂| 极品日韩av| 亚洲天堂免费| 国产精品亚洲综合色区韩国| 精品午夜久久| 99热精品久久| 先锋影音久久久| 五月激激激综合网色播| 国产精品亚洲欧美| 黄色在线网站噜噜噜| 亚洲精品va| 午夜一级久久| 国产日产精品_国产精品毛片 | 麻豆一区二区99久久久久| 久久久久久色| 卡一卡二国产精品| 97精品一区| 欧美日韩国产一区精品一区| 亚洲精品欧洲| 日韩av成人高清| 高清久久精品| 在线视频免费在线观看一区二区| 日韩高清二区| 国产中文在线播放| 亚洲一区国产| 国产精品综合| 成人羞羞在线观看网站| 免费在线观看成人| 免费在线观看一区| 亚洲一级影院| 日韩免费精品| 精品国产第一福利网站| 9色国产精品| 国产极品久久久久久久久波多结野| 色爱综合网欧美| 亚洲综合不卡| 麻豆一区二区三区| 日韩视频中文| 国产精品1区| 亚洲精品小说| 国产欧美69| 亚洲免费精品| 精品一区二区三区视频在线播放 | 久久人人97超碰国产公开结果| 在线精品亚洲| 日本激情一区| 中文无码久久精品| 久久精品国产网站| 91精品国产福利在线观看麻豆| 日本精品在线播放| 亚洲午夜视频| 国产精品jk白丝蜜臀av小说| 99视频在线精品国自产拍免费观看| 你懂的国产精品永久在线|