3.31mybatis暂时完结日志

mybatis今天学完了,跟着读源码很困难,但也收获了一道面试题 ,先放一放,接下来开干spring了。

1.为什么表之间会有关联关系?关联关系是有方向的吗?有些什么关联?

1.在生活中,我们与四周的万物就存在关系,例如:我是学生,我就必定是学校里的一个对象,我与学校就存在关联。

2.关联关系是有方向的,站在我的角度就是 我对学校,反之,学校对我。

3.一对多关联:一个老师可以教多个学生,多个学生只有一个老师来教,站在老师方,就是一对多关联.

多对一关联:一个老师可以教多个学生,多个学生只有一个老师来教,站在学生方,就是多对一关联.

一对一关联:一个老师辅导只一个学生,一个学生只请教一个老师.学生和老师是一对一.

多对多关联:学校食堂,学生可以坐任意一个位置,任意一个位置都可以坐一个学生,学生和食堂位置就是多对多

2.什么是事务?事务用来做什么?事务有什么特性?

1.多个操作同时完成,或同时失败称为事务处理.

2.事务常出现在订单业务,用来做订单的业务的增删改

3.事务有四个特性:一致性,持久性,原子性,隔离性

在mybatis中,

<transactionManager type="JDBC"></transactionManager>   type属性为:jdbc 程序员自己控制处理的提交和回滚

sqlSession = factory.openSession(true); true设置为自动提交,在增删改后不需要commit()

3.缓存有什么意义?存储在什么域?

mybatis提供两级缓存,一级缓存和二级缓存,默认为一级缓存

1.缓存的意义在于提高查询效率

查询时先到缓存里查,如果没有则查询数据库,放缓存一份,再返回客户端.下次再查询的时候直接从缓存返回,不再访问数据库.如果数据 库中发生commit()操作,则清空缓存.

2.

一级缓存使用的是SqlSession的作用域,同一个sqlSession共享一级缓存的数据.

二级缓存使用的是mapper的作用域,不同的sqlSession只要访问的同一个mapper.xml文件,则共享二级缓存作用域.

4.京东面试:注册mapper有几种方式?优先顺序是什么?

一共四种

mapper 单个的注册有三种,package 是多个注册方式

优先级:package >resource>url>mapperClass

先是判断package 是否为空,

是的话判断resource是否为空

是的话判断 url是否为空

是的话判断 mapperClass

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值