- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1、什么是ORM ?
答:对象关系映射(Object-Relational Mapping ,简称ORM )是一种为了解决程序的面 对对象模型与数据库的关系模型互不匹配问题的技术;简洁的说,ORM是通过运用描述对 象和数据库之间映射的元数据(在Java中可以用XML或者是注解),将程序中的对象自 动许久化到关系数据库中或者将关系数据库表中的行转换成Java对象,其本质上就是将数 据从一种形式转换到另外一种形式。
2、许久层设计要考虑的问题有哪些?你用过的许久层框架有哪些?
答:所谓“许久就是将数据保存到可掉电式存储设备中以便今后运用,简洁的说,就是将内 存中的数据保存到关系型数据库、文件系统、消息队列等供应许久化支持的设备中。许久层 就是系统中专注于实现数据许久化的相对独立的层面。
许久层设计的目标包括:
数据存储逻辑的分别,供应抽象化的数据访问接口。
数据访问底层实现的分别,可以在不修改代码的状况下切换底层实现。
资源管理和调度的分别,在数据访问层实现统一的资源调度(如缓存机制)。
-数据抽象,供应更面对对象的数据操作。
许久层框架有:
-Hibernate
-MyBatis
-TopLink
-Guzz -jOOQ
17、MyBatis中运用#和$书写占位符有什么区分?
答:#将传入的数据都当成一个字符串,会对传入的数据自动加上引号;$将传入的数据干 脆显示生成在SQL中。留意:运用,占位符可能会导致SQL注射攻击,能用#的地方就不要 运用于,写order by子句的时候应当用于而不是#。
18、说明一下MyBatis中命名空间(namespace )的作用。
答:在大型项目中,可能存在大量的SQL语句,这时候为每个SQL语句起一个唯一的标识 (ID )就变得并不简洁了。为了解决这个问题,在MyBatis中,可以为每个映射文件起一 个唯一的命名空间,这样定义在这个映射文件中的每个SQL语句就成了定义在这个命名空 间中的一个ID。只要我们能够保证每个命名空间中这个ID是唯一的,即使在不同映射文件 中的语句ID相同,也不会再产生冲突了。
19、MyBatis中的动态SQL是什么意思?
答:对于一些困难的查询,我们可能会指定多个查询条件,但是这些条件可能存在也可能不 存在,例如在58同城上面找房子,我们可能会指定面积、楼层和所在位置来查找房源,也 可能会指定面积、价格、户型和所在位置来查找房源,此时就须要依据用户指定的条件动态 生成SQL语句。假如不运用许久层框架我们可能须要自己拼装SQL语句,还好MyBatis 供应了动态SQL的功能来解决这个问题。MyBatis中用于实现动态SQL的元素主要有: -if
-choose / when / otherwise
-trim -where
-set -foreach
20、说明一下什么叫AOP (面对切面编程)?答:AOP ( Aspect-Oriented Programming )指一种程序设计范型,该范型以一种称为切
面(aspect)的语言构造为基础,切面是一种新的模块化机制,用来描述分散在对象、类 或方法中的横切关注点(crosscutting concern ) o21、Spring中自动装配的方式有哪些?
答:
no :不进行自动装配,手动设置Bean的依靠关系。
byName :依据Bean的名字进行自动装配。
byType :依据Bean的类型进行自动装配。
constructor:类似于byType ,不过是应用于构造器的参数,假如正好有一Bean与构 造器的参数类型相同则可以自动装配,否则会导致错误。
autodetect :假如有默认的构造器,则通过constructor的方式进行自动装配,否则运用 byType的方式进行自动装配。
说明:自动装配没有自定义装配方式那么精确,而且不能自动装配简洁属性
(基本类型、字符串等),在运用时应留意。然后可以用@Component、
@Controllers @Servicex @Repository 注解来标注须要由 Spring IoC 容器进行对象托管的类。这几个注解没有本质区分,只不过?Controller 通常用于限制器,@Service通常用于业务逻辑类,?Repository通常用于 仓储类(例如我们的DAO实现类),一般的类用@Component来标注。
22、Spring支持的事务管理类型有哪些?你在项目中运用哪种方式?
答:Spring支持编程式事务管理和声明式事务管理。许多Spring框架的用户选择声明式事 务管理,因为这种方式和应用程序的关联较少,因此更加符合轻量级容器的概念。声明式事 务管理要优于编程式事务管理,尽管在灵敏性方面它弱于编程式事务管理,因为编程式事务 允许你通过代码限制业务。
事
文档评论(0)