图书管理系统(ssm)day01

今日目标:初始化工程,跑通一个接口

这是别人斥50块巨资托我开发的项目,成果是一个简单的后台管理图书系统。

1.搭建数据库

在这里插入图片描述

数据库采用最简单的设计,3个独立的实体,管理员,用户,和书籍,每本书的所有属性我想过都没必要分离出去,都是1对1的,虽然用户和书籍可以是1对多的关系(1本书只能被一个人借用,一个人可以借多本书),甚至说在预约排队的时候会有多对多的可能(1本书会被多个人排队等待借阅,1个人可以同时排队多本书),但是为了偷懒,不想做中间表,那就不做预约排队功能了。

2.把通用的功能模板做出来

在这里插入图片描述
重点说一下common文件夹和config文件夹。
1.问题:我们表现层增删改方法返回true或者false表示是否成功,getById()方法返回一个json对象,getAll()方法返回一个json对象数组,这里就出现了三种格式的响应结果,极其不利于前端解析。
解决:我们需要统一响应结果的格式,就是那个Result类,因为分页查询的会多一些字段,所以需要PageResult类继承Result就好了。
另外也可以加一些状态码常量,但我觉得麻烦,不加了。
2.异常处理也是非常必要的,开发的时候你可以看到404,500等界面,但是用户看到这个就太不应该了,总不能让用户分析报错原因吧。所以搞个异常拦截,对所有的异常拦截之后友好的返回给前端,让前端友好的告诉用户:加载失败,请重试。
3.config文件夹下面的东西就是ssm的配置类,这些东西可以通过xml配置,当然我这里是用的配置类,更方便些。

注意:有个巨坑的点,就是两个mapper的路径必须一样,这样编译出来他们才会在同一个文件夹下面。千万看好不是名字是com.zhouhao.mapper,而是层级的体现,我刚开始就搞错了,结果一直访问不到xml里的东西。

3.连上数据库写通一个接口

    /**
     * 查询管理员列表
     */
    @GetMapping ("/list")
    public Result list(Admin admin) {
        List<Admin> list = adminService.selectAdminList(admin);
        if (list != null) {
            return Result.success(list);
        } else {
            return Result.error();
        }
    }

mapper可以用注解,也可以用mapper.xml。这里用的xml:明天就不再用xml了,麻烦。

 仅展示部分代码
<sql id="selectAdminVo">
        select id, name, username, password, phone, sex, id_number from admin
    </sql>
    
    <select id="selectAdminList" parameterType="Admin" resultMap="AdminResult">
        <include refid="selectAdminVo"/>
        <where>
            <if test="name != null  and name != ''"> and name like concat('%', #{name}, '%')</if>
            <if test="username != null  and username != ''"> and username like concat('%', #{username}, '%')</if>
            <if test="password != null  and password != ''"> and password = #{password}</if>
            <if test="phone != null  and phone != ''"> and phone = #{phone}</if>
            <if test="sex != null  and sex != ''"> and sex = #{sex}</if>
            <if test="idNumber != null  and idNumber != ''"> and id_number = #{idNumber}</if>
        </where>
    </select>

用postman测一下,通了:
在这里插入图片描述
收工,明天把所有的模块的增删改查写了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JJpZh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值