项目功能实现问题
当前端要访问数据的时候后端就提供相应接口,接口的编写是通过 Controller 层监听请求, 数据的处理交给 Service 层,而 Service 层再通过 Mapper 层操作数据库,操作完成后数据再一层层往上走,最后返回给前端。
XX功能是如何实现的?
论文答辩要点整理
零碎关键点
- impl层 是继承service、dao层具体的实现类(又叫网络实现类)
- 和数据库对应关系的domain
- 有dao对应的xml文件
- mapper在resours中建立(写sql的接口)
- 建立service层
- 建立controll层
- 首先写domain层,再写接口位于dao,同时声明repostory方便service调用,再写一个xml来实现接口(位于mapper)
- 为了前后台传输需要实现序列号
- resultMap的作用一般是用于返回整个对象时不需要一个个去写全,直接引用id即可
SELECT count(*) FROM admin where name = #{0} and password = #{1}#{0}
#{0}代表第一个参数,当第一个参数一致且第二个参数一致======name=第一个参数,password=第二个参数。
- service层调用dao层,同时需要在service层中写实现包impl(implement)(包含实现类,在这个实现类内实现service接口,同时治理要声明@service表示可供controller调用,帮助其直接找到实现类而不是对应接口),实现类中想使用mapper中的东西需要声明(private ***mapper ***mapper)
- @restcontroller 表示他是一个controller,同时返回一个一般是json结构的数据
- @requestMapping给一个返回的访问地址
- 从前方获取数据需要httpservletRequest,并且登录成功将其放入session中(使用Httpsession)
- 返回的结果一般前后端传输我们用json(jsonobject/引用阿里巴的fastjson)
- 登陆成功将信息放入session中使用session.setAttribute
- 使用ts(TypeScript)代码更加简洁易懂,易于维护。同时也向下兼容也兼顾遵循js语法,而且ts提供了类、模块、接口,更易于构建组件与维护。
- 在request.ts中写response。获取返回状态200接口请求成功,可以正常拿到数据否则抛出错误,分401未登录返回到登陆页面,404请求不存在
- 访问有get与post,delect,put方法,进行封装,return new promise(让其异步访问) 有两种情况,有返回结果的resolve,传入url,传入params,then获取到返回值并处理(使用resolve),异常error返回error。get中为参数用and符号链接起来,post中为表单提交。
- 业务相关的为index.ts
- 先new后赋值如,
let params = new URLSearchParams(); params.append(“name”, ruleForm.username); params.append(“password”, ruleForm.password);
- @mapperscan 扫描指定包
- mybatis.typeAliasesPackage=com.example.yin.domain指定domain目录(在application.properties中)以及配上路径mybatis.mapperLocations=classpath:mapper/*.xml
- mixins为工具类包
- router 路由
- 绘图使用Echarts
技术与专业知识问题
后端
SpringBoot + MyBatis
前端
Vue3.0 + TypeScript + Vue-Router + Vuex + Axios + ElementPlus + Echarts
**dao(DateAcessObject)**数据访问层
axios
springMVC
springboot
Mybatis
Vue
Vue.js(读音 /vjuː/, 类似于 view) 是一套构建用户界面的渐进式框架。
Vue 只关注视图层, 采用自底向上增量开发的设计。
Vue 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。
数据库
SQL数据库是如何设计的,你是如何考虑的?
大部分数据库设计是基于第一范式与第三范式进行设计,
比如歌曲于歌单表,歌单和歌曲的对应关系,
数据库基础操作语句
项目架构以及项目技术选型?
spirngboot+mybatis+vue,实现系统开发的分工明确
软件测试有什么方法?你采用了什么方法?
主键于外键的作用,并说明他们的区别?
其他问题
系统开发的大致流程
domain(实体类),DAO(数据操作、访问层),cervice(服务层),controller(控制层),mapper(接口映射)
对自己的毕业设计的想法
设计一个简单易上手的音乐在线系统
解释系统的业务流程
管理员登录账户后对系统内资源与用户账户做管理。
普通用户注册账户后登录,可以对歌曲或者歌单评分与评论,以及对评论点赞,可选音乐播放也可以下载音乐功能。
解释系统的功能结构
毕业设计的意义?特色功能?社会价值与前景?
批量删除功能,资源实时统计功能
为什么使用XXXX技术?
使用vue技术是以为其可以智能的计算出重新渲染组件的最小代价并应用到dom(文件对象模型)document object model操作上。
技术的更新,以及ts的设计对以前技术兼容
绘图技术使得报表精美
出题示例
毕业设计中是否遇到难题瓶颈,如何解决的?
在设计数据表中的歌单与歌曲的时候有一些反思怎样去更好的反应多对多的一个关系,选择新建一个表来让多对多关系映射更加简明。
设计业务中解决功能,对于部分。。。。参考了XX资料
X阶段XXX为了需求分析完成做了什么工作?学习了什么知识?
答辩必备流程
道歉
低级错误
真的十分抱歉,老师,是我的疏忽,等答辩结束后我会认真修改。
批评
== 老师您批评的对,这个问题我的确没有考虑周全,十分感谢老师给出的专业指导意见, == 您的观点给了我很多启发。今后将努力改正。
提问
会的情况:感谢老师的宝贵意见,对于您提到的XXX问题,我是这样想的XXXXX。
不会的情况:对不起老师,是我准备得不够充分,后面我会巩固自己的专业知识
关于论文:感谢老师的指导意见,是我对这个方面研究不够深刻,我会将这个问题记下后面继续研究加入到论文中。