《常用框架》解析

一、Hibernate

1、Hibernate的工作原理

①. 通过Configuration读取并解析hibernate.cfg.xml配置文件

②. 由hibernate.cfg.xml中的<mapping resource>读取并解析映射文件

③. 通过config.buildSessionFactory创建sessionFactory

④. 通过sessionFactory.openSession获取session

⑤. 通过session.beginTransaction开启事务

⑥. 操作数据

⑦. 提交事务

⑧. 关闭session和sessionFactory

2、在Hibernate应用中Java对象的状态有那些?

①临时状态(新建状态):不处于session缓存中;

②持久化状态:加入到session缓冲中;

③游离状态:已经被持久化,但不在session的缓存中;

3、Hibernate如何延迟加载?

session.load();

 

 

二、Spring

1、Spring是什么及Spring的优点

①Spring是一个IOC和AOP容器框架;

②Spring是非侵入式的;

③Spring提供对事务的管理;

⑤Spring对主流的框架提供了很好的集成支持,比如和hibernate SpringMVC等框架的集成

2、讲一讲你对AOP和IOC的理解

IOC:Invert of control,控制反转,也称为DI(依赖注入);

AOP:面向切面编程,本质就是拦截器,比如项目中的事务和日志就是很好的体现了AOP;

3、可以在spring中注入null或者空字符串吗?

可以

注入null值

<property name=”email”><null/></property>

注入空字符串:

<property name=”email” value=””></property>

 

 

三、MyBatis

1、#{}和${}区别是什么?

①#{}更好的防止sql注入;

②#{}自带单引号而¥{}没有;

③#{}更方便来进行模糊查;

2、mybatis的缓存机制

MyBatis分为一级缓存和二级缓存

一级缓存:SqlSession级别的缓存,基于HashMap本地缓存,当同一个sqlSession执行两次相同的SQL语句时,第一次执行完后会将数据库中查询到的结果写到缓存,第二次查询时直接从缓冲中读取不经过数据库了;

二级缓存:mapper级别的缓存,也是基于hashmap本地缓存,不同的sqlSession两次执行相同的namespace下的sql语句,第二次查询就不会进行数据库了;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值