关于做系统的种种逻辑(1)(Springboot+vue)

关于做系统的种种逻辑

做系统的难点

这是我做的第一个系统,因此在完成这个系统的时候,感觉还是有很多困难的地方的。很多时候好不容易懂了各种各样的逻辑,但是实际上写代码的时候又不知道如何下手,写新的功能的时候,不知道怎么实现,怎么查找都不知道应该怎么办。其实出现这样的情况的原因主要如下:
1)系统存在的多数情况为异步的,和我们常规的顺序思维有很大的差异,无法用归纳性的思维进行思考
2)对于数据库,各种工具不熟练,导致要不是语法不熟悉不知道应该如何写,要不是不知道小工具和实现功能的内在逻辑

解决的办法如下:
1)不要试着对代码进行归纳,而是梳理业务逻辑线。先搭好前端的框架,然后按照业务的逻辑来一点点写页面的功能和后端的功能。
2)熟悉这种工具的使用方法,明白逻辑,慢慢的一点点的搞懂,不要着急

下面就是我积累的常用的一些逻辑的写法~
其中,前端我们使用了element plus中的组件,后端我们用到了mybatis和mybatis-plus的框架。

如何在后端用mapper对数据库查询?

在实现后端和数据库的查询的时候,我们使用了mybatis和mybatis-plus工具来帮助我们。其中我们在重新写mapper的时候,直接重写查询语句,对于数据库进行查询。语法如下。之后就可以直接用mapper.方法名字进行查询。

查询所有不同的数据/带前端参数的查询

public interface BatchMapper extends BaseMapper<Batch> {
   
    @Select("SELECT\n" +
            "\tDISTINCT(batch.academic_year)\n" +
            "FROM\n" +
            "\tbatch")
    List<Batch> distinctYearList();

    @Select("SELECT\n" +
            "\tbatch.id batch\n" +
            "FROM\n" +
            "\tbatch\n" +
            "WHERE\n" +
            "\tbatch.academic_year = #{year} AND\n" +
            "\tbatch.semester = #{semester}\n")
    String getBatch(String year,String semester);
}

那么如何在有搜索内容的时候,完成查询,并且更改对应的数字呢?

 @Select({
   "select thesis.thesisid,thesis.title,thesis.author,thesis.supervisor," +
            "thesis.department,thesis.submit_Time,thesis.memo,thesis.url,thesis.status, \n" +
            "(case when thesis.status=1 then \"未分配\"\n" +
            "when thesis.status=2 then \"已分配\" \n" +
            "when thesis.status=3 then \"已评审\"\n" +
            "when thesis.status=4 then \"评审已分配上会\"\n" +
            "when thesis.status=5 then \"会评通过\"\n" +
            "when thesis.status=6 then \"会评不通过\"\n" +
            "when thesis.status=7 then \"已分配给系主任\"\n" +
            "when thesis.status=8 then \"已安排答辩\"\n" +
            "when thesis.status=9 then \"答辩通过\"\n" +
            "when thesis.status=10 then \"答辩上会\"\n" +
            "when thesis.status=11 then \"答辩已分配上会\"\n" +
            "when thesis.status=12 then \"答辩上会未通过\"\n" +
            "end) as stringstatus from thesis\n" +
            "where ((thesis.thesisid like concat(\"%\",#{search},\"%\")) or\n" +
            "(thesis.title like concat(\"%\",#{search},\"%\")) or\n" +
            "(thesis.author like concat(\"%\",#{search},\"%\")) or\n" +
            "(thesis.supervisor like concat(\"%\",#{search},\"%\")) or\n" +
            "(thesis.department like concat(\"%\",#{search},\"%\"))) and " +
            "(thesis.batch = #{batch}) and (thesis.degreetype = #{type_id})"})
    List<ThesisVO> getallthesisNow(Page page,String search,Integer batch,Integer type_id);

如何弹出一个表单?

写一个表单,其中绑上一个batchDialogVisible来控制是否显示

<el-dialog
          v-model="batchDialogVisible"
          title="选择论文批次"
          width="30%">
        <div style="margin:10px 0 ">
        // 如何写一个下拉框
          选择学年:<el-select v-model=
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值