zoukankan      html  css  js  c++  java
  • 11 图书管理系统(SSM+LayUi)

    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();
        }
    
    }
    
    
  • 相关阅读:
    c语言中的rewind函数,Win CE 不支持,可用fseek函数替换
    接口隔离原则(转)
    接口设计的 11 种原则 (转)
    设计模式六大原则/接口设计六大原则 之 组合/聚集复用原则(转)
    C++ 求幂的运算符是什么?
    设计模式六大原则/接口设计六大原则 之 迪米特法则(转)
    解决mysql出现“the table is full”的问题
    tomcat远程调试设置
    这些习惯很伤肾 要警觉
    从ie临时文件夹一次复制多个文件
  • 原文地址:https://www.cnblogs.com/nuister/p/13361213.html
Copyright © 2011-2022 走看看