11 圖書管理系統(SSM+LayUi)
阿新 • • 發佈:2020-07-22
1、DAO層介面和實現
- 在classInfoDao.java裡寫增刪改
介面
package com.gychen.dao; import com.gychen.po.ClassInfo; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Component; import java.util.List; @Component("classDao") public interface ClassInfoDao { /** * 查詢所有圖書型別資訊 */ // @Select("select * from class_info") // List<ClassInfo> queryClassInfoAll(); List<ClassInfo> queryClassInfoAll(@Param(value = "name")String name); /** * 新增圖書型別 */ void addBookType(ClassInfo classInfo); /** * 修改 根據id查詢記錄資訊 */ ClassInfo queryBookTypeById(Integer id); /** * 修改圖書型別資訊 */ void updateBookType(ClassInfo classInfo); /** * 刪除 根據一個或多個id刪除 */ void deleteBookTypeByIds(List<Integer> id); }
- 在ClassInfoDao.xml裡
實現
增刪改語句
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="com.gychen.dao.ClassInfoDao" > <!-- 查詢全部資訊 --> <select id="queryClassInfoAll" resultType="com.gychen.po.ClassInfo"> select * from class_info <where> <if test="name!=null"> and name like '%${name}%' </if> </where> </select> <!-- 增加圖書型別 --> <insert id="addBookType" parameterType="classInfo"> insert into class_info (name,remarks) values (#{name},#{remarks}) </insert> <!-- 根據id查詢型別資訊 --> <select id="queryBookTypeById" parameterType="int" resultType="classInfo"> select * from class_info where id=#{id} </select> <!-- 修改圖書型別資訊 --> <update id="updateBookType" parameterType="classInfo"> update class_info set name=#{name},remarks=#{remarks} where id=#{id} </update> <!-- 根據ids 刪除圖書型別資訊 --> <delete id="deleteBookTypeByIds" parameterType="list"> delete from class_info where id in <foreach collection="list" item="ids" open="(" separator="," close=")"> #{ids} </foreach> </delete> </mapper>
2、service層介面和實現
- 在ClassInfoService裡寫增刪改
介面
package com.gychen.service; import com.github.pagehelper.PageInfo; import com.gychen.po.ClassInfo; import java.util.List; public interface ClassInfoService { /** * 查詢所有的圖書型別資訊 */ PageInfo<ClassInfo> queryClassInfoAll(String name,int page,int limit); /** * 新增圖書型別 */ void addBookType(ClassInfo classInfo); /** * 修改 根據id查詢記錄資訊 */ ClassInfo queryBookTypeById(Integer id); /** * 修改圖書型別資訊 */ void updateBookType(ClassInfo classInfo); /** * 刪除 根據一個或多個id刪除 */ void deleteBookTypeByIds(List<Integer> ids); }
- 在ClassInfoServiceImpl裡
實現
增刪改語句
package com.gychen.service;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.gychen.dao.ClassInfoDao;
import com.gychen.po.ClassInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service("classInfoService")
public class ClassInfoServiceImpl implements ClassInfoService {
@Autowired
private ClassInfoDao classDao;
@Override
public PageInfo<ClassInfo> queryClassInfoAll(String name,int page, int limit) {
// 傳入引數,每頁條數,當前頁
PageHelper.startPage(page,limit);
List<ClassInfo> list = classDao.queryClassInfoAll(name);
// 通過包裝獲取分頁需要的其他值
PageInfo<ClassInfo> pageInfo = new PageInfo<>(list);
return pageInfo;
}
@Override
public void addBookType(ClassInfo classInfo) {
classDao.addBookType(classInfo);
}
@Override
public ClassInfo queryBookTypeById(Integer id) {
return classDao.queryBookTypeById(id);
}
@Override
public void updateBookType(ClassInfo classInfo) {
classDao.updateBookType(classInfo);
}
@Override
public void deleteBookTypeByIds(List<Integer> ids) {
classDao.deleteBookTypeByIds(ids);
}
}
3、Controller層實現
- 在TypeController裡新增增刪改
package com.gychen.controller;
import com.github.pagehelper.PageInfo;
import com.gychen.po.ClassInfo;
import com.gychen.service.ClassInfoService;
import com.gychen.util.RestResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
@Controller
public class TypeController {
@Autowired
private ClassInfoService classInfoService; // 這裡的classInfoService要和ClassInfoServiceImpl中的註解名字相同
@RequestMapping("/typeIndex")
public String typeIndex(){
return "type/typeIndex";
}
/**
* 新增頁面的轉換
*/
@GetMapping("/typeAdd")
public String typeAdd(){
return "type/addType";
}
/**
* 獲取type資料資訊 分頁
*/
@RequestMapping("/typeAll")
@ResponseBody
public RestResponse typeAll(String name, @RequestParam(defaultValue = "1") Integer page,
@RequestParam(defaultValue = "15") Integer limit){
PageInfo<ClassInfo> pageInfo = classInfoService.queryClassInfoAll(name, page, limit);
return RestResponse.ok(pageInfo.getList());
}
/**
* 型別新增
*/
@ResponseBody
@RequestMapping("/addBookType")
public RestResponse addBookType(ClassInfo classInfo){
classInfoService.addBookType(classInfo);
return RestResponse.ok();
}
/**
* 根據id查詢
*/
@GetMapping("/queryBookTypeById")
public String queryBookTypeById(Integer id, Model model){
ClassInfo classInfo = classInfoService.queryBookTypeById(id);
model.addAttribute("info",classInfo);
return "type/updateType";
}
/**
* 修改提交功能
*/
@ResponseBody
@RequestMapping("/updateBookType")
public RestResponse updateBookType(@RequestBody ClassInfo classInfo){
classInfoService.updateBookType(classInfo);
return RestResponse.ok();
}
/**
* 刪除型別
*/
@ResponseBody
@RequestMapping("/deleteType")
public RestResponse deleteType(String ids){
List list = Arrays.asList(ids.split(","));
classInfoService.deleteBookTypeByIds(list);
return RestResponse.ok();
}
}