理解不来。

理解不来。

Spring和MyBatis整合生成代理对象,使用SqlSessionFactory创建SqlSession。(Spring和MyBatis整合自动完成)sqlSession不是绑定在sql上的,因为一个sqlSession是可以执行多个sql的。

这个是在另外的问答里看见的,然后我实在理解不来,这个SqlSessionFactory是怎么来实现整合的。Spring是用来创建代理的,MyBatis是用来连接数据库处理的,是直接使用代理去操作数据库?如果这个对的话,又是怎么来一步步实现的,我想把这根线理顺了,

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,关于同学的问题:

1、在spring.xml文件中,有如下配置:

http://img1.sycdn.imooc.com//climg/5e60e3280995c31009040358.jpg

使用sessionFaction对数据库进行管理,sessionFactory可以生成sqlSession对象,sqlSession对象完成具体的数据库操作。

2、Type和ParameterType的实体类是不需要写全路径,是因为设置了typeAliasesPackage,这是设置别名,所以entity包下的类不需要写全路径,使用类名代替即可。

http://img1.sycdn.imooc.com//climg/5e60e42f090a7fe008420147.jpg

3、这里是面向接口编程,接口可以有多个实现类,如果现在你使用这个实现类接收,也许哪一天需要做扩展,这时可以新建一个实现类,继续完成扩展,而原有的功能不做改变。另外在controller中,需要注入的是接口,而不是具体的实现类。如:

http://img1.sycdn.imooc.com//climg/5e60e68c09c3e35504480221.jpg

4、这里Dao层的实现类是mybatis底层根据对应的xml自动实现,如:

http://img1.sycdn.imooc.com//climg/5e60e6650921aa5802800415.jpg

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • dobe001 提问者 #1
    第二个-如果 我在 entity这个包之外 的类 不写全路径,会自动补充成entity包下的路径吗?或者是entity包下的类里 ,路径只用类名来替代。路径想指向这个包之外的地址,好像这个有点不对劲,,越说越糊涂了,路径好像是自身的路径。。有点晕了,老师就大概回一下问号那个吧。。后面说的我自己也理解不过来说的啥了,要是老师能看懂 也顺便讲一下==谢谢~~~
    2020-03-05 20:12:25
  • 好帮手慕阿满 回复 提问者 dobe001 #2
    同学你好,typeAliasesPackage只是为entity包设置别名,如果非entity包下的类没有写全路径,会报异常,并不会解析为entity包下类。这里的别名是指使用类名代替类的全路径。祝:学习愉快~
    2020-03-06 14:15:15
提问者 dobe001 2020-03-05 17:51:23

视频来来回回的看,还是不太理解 为什么要加个业务层接口,而且biz的实现类里面 用的都是Dao那个接口的方法?没有用biz接口的

  • 提问者 dobe001 #1
    还有就是DepartmentDao是个接口,biz实现类里 直接返回调用它的方法,又是靠什么来实现的,那个应该怎么说,IOC控制反转来实现?实现的话好像不应该指向Dao的实现类吗。。。总感觉我缺点啥概念。老师先点播一下,我把这个这个实战再熟悉一遍就再回头复习一下。
    2020-03-05 17:57:15
提问者 dobe001 2020-03-05 17:31:54

还有那个Type和ParameterType的实体类是靠前边哪个配置实现的,所以才不用写包名了。

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师