本文描述springboot和layui的结合,采用了springboot内置的jdbc,根据不同需要可以进行修改;分页采用了layui中自带分页格式!
-------------------------------------------------数据管理dao层
package main.springboot.dao;
import main.springboot.bean.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Map;
/**
* 教师DAO
* @author 周帅
*/
@Repository
public class TeaDao extends PageDao{
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 查询所有学生
* @return
*/
public List queryTea(String newname){
String sql = "select * from t_tea where flag=1";
System.out.println(newname+" aaaaa");
if(newname!=null){
sql +=" and name like '%"+newname+"%'";
}
System.out.println(sql);
return jdbcTemplate.queryForList(sql);
}
/**
* 获取用户信息
* @param id
* @return
*/
public Map getTea(int id){
String sql = "select * from t_tea where id="+id;
return jdbcTemplate.queryForMap(sql);
}
/**
* 更新教师信息
* @param TeaMap
*/
public void updateTea(Map<String,Object> TeaMap){
String name = TeaMap.get("name").toString();
String sex = (String) TeaMap.get("sex");
String age = (String) TeaMap.get("age");
System.out.println(sex);
System.out.println(age);
String updatesql = "";
if(name!=null){
updatesql +="name='"+name+"',";
}
if(sex!=null){
updatesql +="sex="+sex+",";
}
if(age!=null){
updatesql +="age="+age;
}
System.out.println(TeaMap.get("id")+"aaaaaaawww");
if(updatesql.length()>2){
String sql = "update t_tea set "+updatesql+" where id="+TeaMap.get("id");
jdbcTemplate.execute(sql);
}
}
/**
* 添加教师
* @param TeaMap
*/
public void addTea(Map<String,Object> TeaMap){
String sql="insert into t_tea(name,sex,age,flag) values('"+TeaMap.get("name")+"',"+TeaMap.get("sex")+","+TeaMap.get("age")+",'1')";
jdbcTemplate.execute(sql);
}
/**
* 删除教师
* @param id
*/
public void deleteTea(String id){
String sql="update t_tea set flag='0' where id in("+id+")";
jdbcTemplate.execute(sql);
}
/**
* 模糊查询
* @param pageBean
* @param where
* @param orderby
* @return
*/
public PageBean mohuquery(PageBean pageBean, String where, String orderby){
String sql="select * from t_tea where flag=1 " ;
return this.queryPageByMysql(pageBean, sql, where, orderby);
}
}
-----------------------------------------------------------pageDao分页查询
package main.springboot.dao;
import java.util.List;
import java.util.Map;
import main.springboot.bean.PageBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Repository;
@Repository
public class PageDao {
@Autowired
private JdbcTemplate jdbcTemplate;
/**
* 分页查询
* @param sql
* @param where
* @param orderby
* @return
*/
public PageBean queryPageByMysql(PageBean pageBean,String sql,String where,String orderby){
int page = pageBean.getPage();
int rows = pageBean.getRows();
int startIndex = (page-1) * rows;
String pageSql = sql+where+orderby+" limit "+startIndex+","+rows;
System.out.println(pageSql);
System.out.println("PageBean Sql语句:"+pageSql);
List list = jdbcTemplate.queryForList(pageSql);
System.out.println("PageBean 查询数据:"+list);
pageBean.setPageData(list);
int total = this.queryTotal(sql, where);
pageBean.setTotal(total);
return pageBean;
}
/**
* 分页查询
* @param sql
* @param where
* @param orderby
* @return
*/
public PageBean queryPageByOracle(PageBean pageBean,String sql,String where,String orderby){
int page = pageBean.getPage();
int rows = pageBean.getRows();
int startIndex = (page-1) * rows;
int endIndex = page * rows;
String pageSql = "SELECT * FROM (SELECT A.*, ROWNUM RN FROM ("+sql+where+orderby+") A WHERE ROWNUM <= "+endIndex+" ) WHERE RN > "+startIndex;
List list = jdbcTemplate.queryForList(pageSql);
pageBean.setPageData(list);
int total = this.queryTotal(sql, where);
pageBean.setTotal(total);
return pageBean;
}
/**
* 查询总数量
* @param sql
* @param where
* @return
*/
public int queryTotal(String sql,String where){
String totalSql = " select count(1) as total from ("+sql+where+") a ";
List list = jdbcTemplate.queryForList(totalSql);
Map map = (Map)list.get(0);
return Integer.parseInt(map.get("total").toString());
}
}
-----------------------------------------------------------业务service层
package main.springboot.action;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import main.springboot.bean.PageBean;
import main.springboot.service.TeaService;
import main.springboot.service.UserService;
import main.springboot.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 教师控制层
* @author 周帅
*/
@Controller
public class TeaAction {
@Autowired
private RedisUtils redisUtils;
@Autowired
private TeaService teaService;
@Autowired
private UserService userService;
private String newname ="";
/**
* 查询所有教师
* @param request
* @return
*/
@RequestMapping("/view/system/queryTeaList")
@ResponseBody
public String queryRoleList(HttpServletRequest request){
try {
List list = teaService.queryTea(newname);
JSONObject josn = new JSONObject();
josn.put("code",0);
josn.put("msg","");
josn.put("data",JSONArray.toJSON(list));
return josn.toJSONString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 根据ID查询教师信息
* @param request
* @param id
* @return
*/
@RequestMapping("/view/system/queryById")
@ResponseBody
public Map queryById(HttpServletRequest request,@RequestParam int id){
Map map = null;
try {
map = teaService.getTea(id);
}catch (Exception e){
e.printStackTrace();
}
return map;
}
/**
* 添加教师
* @param request
* @param teaMap
* @return
*/
@RequestMapping("/view/system/addTea")
@ResponseBody
public int addTea(HttpServletRequest request,@RequestParam Map teaMap){
try {
teaService.addTea(teaMap);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 修改教师
* @param request
* @param teaMap
* @return
*/
@RequestMapping("/view/system/updateTea")
@ResponseBody
public int updateTea(HttpServletRequest request,@RequestParam Map teaMap){
try {
teaService.updateTea(teaMap);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 删除教师
* @param request
* @param id
* @return
*/
@RequestMapping("/view/system/deleteTea")
@ResponseBody
public int deleteTea(HttpServletRequest request,@RequestParam String id){
try {
teaService.deleteTea(id);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 图表数据查询
* @return
*/
@RequestMapping("/view/system/queryTea2")
@ResponseBody
public ResponseEntity<?> queryTea2(){
System.out.println(newname);
List list = teaService.queryTea(newname);
return new ResponseEntity<List>(list, HttpStatus.OK);
}
/**
* 分页查询
* @param request
* @param queryParams
* @return
*/
@RequestMapping("/view/system/queryTea")
@ResponseBody
public Map queryTea(HttpServletRequest request,@RequestParam Map queryParams){
Map result = new HashMap();
try {
PageBean pageBean = new PageBean();
pageBean.setPage(Integer.parseInt(queryParams.get("page").toString()));
pageBean.setRows(Integer.parseInt(queryParams.get("limit").toString()));
newname = (String) queryParams.get("keyword");
pageBean.setQueryParams(queryParams);
pageBean = teaService.mohuquery(pageBean);
result.put("count", pageBean.getTotal());
result.put("data", pageBean.getPageData());
result.put("msg", "");
result.put("code", 0);
} catch (Exception e) {
e.printStackTrace();
result.put("count", 0);
result.put("data", new ArrayList());
result.put("msg", "");
result.put("code", 500);
}
return result;
}
}
----------------------------------------------------------------------控制action层
package main.springboot.action;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import main.springboot.bean.PageBean;
import main.springboot.service.TeaService;
import main.springboot.service.UserService;
import main.springboot.utils.RedisUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 教师控制层
* @author 周帅
*/
@Controller
public class TeaAction {
@Autowired
private RedisUtils redisUtils;
@Autowired
private TeaService teaService;
@Autowired
private UserService userService;
private String newname ="";
/**
* 查询所有教师
* @param request
* @return
*/
@RequestMapping("/view/system/queryTeaList")
@ResponseBody
public String queryRoleList(HttpServletRequest request){
try {
List list = teaService.queryTea(newname);
JSONObject josn = new JSONObject();
josn.put("code",0);
josn.put("msg","");
josn.put("data",JSONArray.toJSON(list));
return josn.toJSONString();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 根据ID查询教师信息
* @param request
* @param id
* @return
*/
@RequestMapping("/view/system/queryById")
@ResponseBody
public Map queryById(HttpServletRequest request,@RequestParam int id){
Map map = null;
try {
map = teaService.getTea(id);
}catch (Exception e){
e.printStackTrace();
}
return map;
}
/**
* 添加教师
* @param request
* @param teaMap
* @return
*/
@RequestMapping("/view/system/addTea")
@ResponseBody
public int addTea(HttpServletRequest request,@RequestParam Map teaMap){
try {
teaService.addTea(teaMap);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 修改教师
* @param request
* @param teaMap
* @return
*/
@RequestMapping("/view/system/updateTea")
@ResponseBody
public int updateTea(HttpServletRequest request,@RequestParam Map teaMap){
try {
teaService.updateTea(teaMap);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 删除教师
* @param request
* @param id
* @return
*/
@RequestMapping("/view/system/deleteTea")
@ResponseBody
public int deleteTea(HttpServletRequest request,@RequestParam String id){
try {
teaService.deleteTea(id);
return 0;
}catch (Exception e){
e.printStackTrace();
}
return -1;
}
/**
* 图表数据查询
* @return
*/
@RequestMapping("/view/system/queryTea2")
@ResponseBody
public ResponseEntity<?> queryTea2(){
System.out.println(newname);
List list = teaService.queryTea(newname);
return new ResponseEntity<List>(list, HttpStatus.OK);
}
/**
* 分页查询
* @param request
* @param queryParams
* @return
*/
@RequestMapping("/view/system/queryTea")
@ResponseBody
public Map queryTea(HttpServletRequest request,@RequestParam Map queryParams){
Map result = new HashMap();
try {
PageBean pageBean = new PageBean();
pageBean.setPage(Integer.parseInt(queryParams.get("page").toString()));
pageBean.setRows(Integer.parseInt(queryParams.get("limit").toString()));
newname = (String) queryParams.get("keyword");
pageBean.setQueryParams(queryParams);
pageBean = teaService.mohuquery(pageBean);
result.put("count", pageBean.getTotal());
result.put("data", pageBean.getPageData());
result.put("msg", "");
result.put("code", 0);
} catch (Exception e) {
e.printStackTrace();
result.put("count", 0);
result.put("data", new ArrayList());
result.put("msg", "");
result.put("code", 500);
}
return result;
}
}
------------------------------------------------------------数据页面
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="UTF-8"></meta>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"></meta>
<meta name="viewport" content="width=device-width, initial-scale=1.0"></meta>
<meta http-equiv="pragma" content="no-cache"></meta>
<meta http-equiv="cache-control" content="no-cache"></meta>
<meta http-equiv="expires" content="0"></meta>
<link rel="stylesheet" href="../../js/layui/css/layui.css" media="all" />
<link rel="stylesheet" href="//at.alicdn.com/t/font_tnyc012u2rlwstt9.css" media="all" />
<link rel="stylesheet" href="../../css/role.css" media="all" />
<style>
.c1{
float: left;
}
</style>
</head>
<body class="childrenBody">
<blockquote class="layui-elem-quote role_search">
<div class="layui-inline">
<div class="layui-input-inline">
<input id="keyword" type="text" value="" placeholder="请输入关键字" class="layui-input search_input">
</div>
<a class="layui-btn search_btn" οnclick="queryTea()">查询</a>
</div>
<div class="layui-inline">
<a class="layui-btn layui-btn-normal newsAdd_btn" οnclick="addTea('')">添加用户</a>
</div>
<div class="layui-inline">
<a class="layui-btn layui-btn-danger batchDel" οnclick="getDatas();">批量删除</a>
</div>
</blockquote>
<div class="c1">
<table class="layui-hide" id="user" lay-filter="tools"></table>
</div>
<script type="text/html" id="tools">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script type="text/javascript" src="../../js/echarts.js"></script>
<div class="c1" id="main" style="width: 500px;height:500px;"></div>
<script type="text/javascript" src="../../js/layui/layui.js"></script>
<script type="text/javascript" src="../../js/jquery2.1.4.js"></script>
<script type="text/javascript" src="../../js/DateFormat.js"></script>
<script type="text/javascript" src="../../js/view/system/tea.js"></script>
</body>
</html>