学习周结01

  • 原理:

    MyBatis应用程序根据XML配置文件创建SqlSessionFactory,SqlSessionFactory在根据配置,配置来源于两个地方,一处是配置文件,一处是Java代码的注解,获取一个SqlSession。SqlSession包含了执行sql所需要的所有方法,可以通过SqlSession实例直接运行映射的sql语句,完成对数据的增删改查和事务提交等,用完之后关闭SqlSession。

  • MyBatis的优缺点:

优点:

  1. 简单易学:
    mybatis本身就很小且简单。没有任何第三方依赖, 最简单安装只要两个jar文件+配置 几个sq|映射文件易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
  2. 灵活:
    mybatis不会对应用程序或者数据库的现有设计强加任何影响。sqI写在xml里, 便于统一管理和
    优化。通过sq|基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
  3. 解除sql与程序代码的耦合:
    通过提供DAO层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
  4. 提供映射标签,支持对象与数据库的orm字段关系映射
  5. 提供对象关系映射标签,支持对象关系组建维护
  6. 提供xml标签,支持编写动态sql。

缺点:

  1. 编写SQL语句时工作量很大,尤其是字段多、关联表多时,更是如此。
  2. SQL语句依赖于数据库,导致数据库移植性差,不能更换数据库。
  3. 框架还是比较简陋,功能尚有缺失,虽然简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据库修改。
  4. 二级缓存机制不佳

MyBatis和数据库的交互有两种方式:
1. 使用传统的MyBatis提供的API:
创建一个和数据库打交道的SqlSession对象,然后根据Statement Id 和参数来操作数据库,这种方式固然很简单和实用,但是它不符合面向对象语言的概念和面向接口编程的编程习惯。由于面向接口的编程是面向对象的大趋势,MyBatis为了适应这一趋势,增加了第二种使用MyBatis支持接口(Interface)调用方式。

2. 使用Mapper接口
MyBatis将配置文件中的每一个节点抽象为一个 Mapper 接口,而这个接口中声明的方法和跟节点中的<select|update|delete|insert>节点项对应,即<select|update|delete|insert>节点的id值为Mapper接口中的方法名称,parameterType值表示Mapper对应方法的入参类型,而resultMap值则对应了Mapper接口表示的返回值类型或者返回结果集的元素类型。

总结

在课堂老师给出看官网写出运用Java来获取MyBatis配置文件获取SQL会话对象,当时写出点点爆红(出错了)让我明白了自己的不足,让我明白了 思路流程的重要性以及细心的重要,因为我的报错基本都是源自于自己代码拼错了一个单词还有就是思路理解错误这些细节问题,还需要改进。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值