1. 系统需要分层有哪些好处?
  2. 你在项目中用过哪种设计模式?结合业务场景给出使用这个设计模式的理由。
  3. 从网盘下载课程的建表脚本在本地建表,基于t_user、t_role和t_user_role三张表练习多多对查询。

系统需要分层有哪些好处?
1.职责分明,分层后高层只需要知道底层能实现的功能,不会关心实现的过程。
2.代码分离,易于扩展,且在系统扩展时,方便将每个模块转为微服务。
(mybatis将系统分为3层,且每层的每个模块全都独立。基础层,核心处理层,接口层。)

你在项目中用过哪种设计模式?结合业务场景给出使用这个设计模式的理由。这个设计模式在遵循什么设计原则?
1.单例模式 保证对象单一,全局不会变化的对象适合使用。但注意创建对象的代码考虑多线程安全问题。
2.工厂模式 不参加对象创建,在使用一个对象的时候不必要关心创建的过程,直接从工厂中拿出要使用的对象。
3.建造者模式,完全参加决定对象创建的结果,但是不会管在创建对象中有多复杂的过程,只是觉得重要的参数。
4.门面模式,只暴露出简单的入口,即可使用。无需关心后面复杂的实现形式。
5.适配器模式,将其他人的接口加上一层转接头,可以保证在其他人代码发生变化时,或者换使用的时,只需要更好转接头就可以。
6.模板模式,在多个实现类实现同一个接口的情况下,每个实现类要实现的接口不同,可以通过重写模板的制定方法确定跳过某些不需要的实现接口。
7.装饰模式,可以对实现同一个接口的不同实现类进行增强,从而轻易的组合,将增强模块实现随意拼接。
8.动态代理模式,动态代理模式可以,动态的创建同一个接口的不同实现类,而去执行接口的方法,在执行方法时也可以进行方法的增强。动态创建的接口以$proxy开头。

调用方法

@Testpublic void selectManyToMany(){SqlSession sqlSession = sqlSessionFactory.openSession();TUserMapper userMapper = sqlSession.getMapper(TUserMapper.class);List<TUser> users = userMapper.selectUserRole();for (int i = 0; i < users.size(); i++) {System.out.println(users.get(i).toString());if (users.get(i).getRoles()!=null){List<TRole> roles = users.get(i).getRoles();for (int j = 0; j < roles.size(); j++) {System.out.println(roles.get(j).toString());}}}}

xml文件代码

 <resultMap type="TUser" id="userRoleInfo" extends="BaseResultMap"><collection property="roles" ofType="TRole" columnPrefix="role_"><result column="id" property="id" /><result column="Name" property="roleName" /><result column="note" property="note" /></collection></resultMap><select id="selectUserRole" resultMap="userRoleInfo">select a.id, a.userName,a.realName,a.sex,a.mobile,a.note,b.role_id,c.role_name,c.note role_notefrom t_user a,t_user_role b,t_role cwhere a.id = b.user_id AND b.role_id = c.id</select>

lison老师说:
分层优势
1.让代码维护性更高,每个层都有定位,每个层的每个组件脉络清晰
2.方便团队开发,提高协作开发。团队分工明确,开发人员专注提升。
3.提高系统伸缩性与性能,将每层调用接口明确,方便将逻辑分层改为物理分层,提高系统抗压性。

享学课堂学习笔记

MyBatis作业,以下三个问题,任选两个作答相关推荐

  1. ArcEngine C# GIS开发入门作业 (三)Ex04——实现地图的简单渲染和唯一值渲染

    文章评论 写评论 sinat_37432938: 可以说非常有参考的意义,谢谢分享 4周前 #2楼 举报回复查看回复(1) domen_dragon 回复 sinat_37432938: 哈哈,谢谢夸 ...

  2. 《团队作业第三、第四周》五小福团队作业--Scrum 冲刺阶段--Day6

    <团队作业第三.第四周>五小福团队作业--Scrum 冲刺阶段--Day6 一.项目燃尽图 二.项目进展 [20172301郭恺第六天的进展] 第五天完成的任务: 点击牌会抬起.选中牌的图 ...

  3. SpringBoot中关于Mybatis使用的三个问题

    SpringBoot中关于Mybatis使用的三个问题 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8495453.html 原本是要讲讲PostgreSQL ...

  4. c语言两个字符串比较,将两个字符串s1和s2比较,如果s1s2,作业 - 编一个程序,将两个字符串s1和s2比较,如果.doc...

    作业 - 编一个程序,将两个字符串s1和s2比较,如果 作业(第一次) 求下面表达式的值: x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7 (float)(a+b)/2+( ...

  5. 三种算法求两个正整数的最大公约数和最小公倍数;求三个数的最大公约数和最小公倍数

    第二次作业 题目:求两个正整数的最大公约数和最小公倍数. 基本要求:1.程序风格良好(使用自定义注释模板),两种以上算法解决最大公约数问题,提供友好的输入输出. 提高要求:1.三种以上算法解决两个正整 ...

  6. 习题 4.15 用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下一字母。用#define命令来控制是否要译成密码。

    C++程序设计(第三版) 谭浩强 习题4.15 个人设计 习题 4.15 用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出:一为将字母变成其下一字母.(如'a'变成'b'· ...

  7. 教育部统考课程-计算机,教育部统考课程—《计算机应用基础》作业练习三.doc...

    文档介绍: 1 教育部统考课程-<计算机应用基础>课程作业练****三 Word 文字编辑一.单项选择题 1.Word 文档的扩展名是(). A.BAS B.DOC C.BMP D.XLS ...

  8. 任选两个自然数,它们互质的概率是多少?

    任选两个自然数,它们互质的概率是多少? 它就是s=2s = 2s=2时欧拉乘积公式右边的连乘的倒数,因此它等于s=2s = 2s=2时欧拉乘积公式左边的连加的倒数,即1/ζ(2)1/ζ(2)1/ζ(2 ...

  9. 计算机应用怎么样多项选择,【2017年整理】12春学期《计算机应用基础》在线作业第三次多项选择.doc...

    [2017年整理]12春学期<计算机应用基础>在线作业第三次多项选择 二.多选题(共?30?道试题,共?30?分.) HYPERLINK "/StudentCenter/OnLi ...

最新文章

  1. Python函数细节:多数量参数、强制参数传递、返回多值、匿名/内联函数
  2. http请求post,返回excel文件,并接收
  3. 转:基于TLS1.3的微信安全通信协议mmtls介绍
  4. 文件格式和扩展名不匹配。文件可能已损坏或不安全。除非您信任其来源,否则请勿打开。是否仍要打开它?
  5. Spring Boot 项目打成 .exe 程序,实战来了!
  6. Study From DevOps 学习交流会议
  7. 60套漂亮的的免费 PSD 界面设计元素包资源(系列二)
  8. Python小例子,太走心~
  9. 简易购物车实体类的设计
  10. java 解密pdf_Java 加密和解密 PDF
  11. 雅思N、NG专项(目标是保证一个都不错)
  12. maven-jar-plugin 插件打包jar配置
  13. Spark 概述以及与Hadoop的关系
  14. PHP+MySQL实现上传图片的显示
  15. 每天都是新开始之:Android 活动介绍与使用
  16. 计算机专硕_平均分369分!这所985大学计算机专硕!
  17. 计算机科学导论第二版(佛罗赞)-读书笔记
  18. 产品经理相关经验以及基础知识
  19. cdc跨时钟域处理-结绳握手法
  20. 辉煌优配|增持回购升温 竞购同行股权 券商板块估值有望持续提升

热门文章

  1. 儿童专注力测试之连点成线
  2. java经典逻辑编程题之不死神兔
  3. Flutter | 由Builder Widget而引发的思考
  4. 线性规划专题——SIMPLEX 单纯形算法(三)图解——示例、注意点
  5. 企业无线局域网的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  6. EF 后台登录+首页+忘记密码 列表
  7. iphone开发每日一练【2011-10-09】
  8. 【电力系统】基于粒子群算法求解热电联产系统优化配置问题附matlab代码
  9. wordpress 不用插件添加友情链接
  10. 自行搭建家庭版服务器x96 max-硬件篇(一)