mybatis使用小结

mybatis 直接进入数据库执行sql语句,不需要在xxxDao.xml文件中指定实体类对应的表,只需要在配置文件中标明实体类中的各个属性与表中字段的对应关系即可。查询结果会直接存入实体类对象当中。

在CRUD操作中,只有查询操作需要在标签中指定存放结果的结果集常用hashMap。select存放结果有两种类型,resultMap和resultType ,通常二者搭配使用。因为resultMap虽然相对灵活,不要求数据与表字段严格对应,但由于要在配置文件中指定与表字段的对应关系,因此维护相较于resultType麻烦。

如果对数据库的操作不需要得到逻辑复杂的结果集合,只是简单常用的增删改查,则直接使用MyBatis-Plus提供的功能即可,直接返回 Mapper对象中的insert(),delete()等自带方法。

mybatis与hibernate在使用时最显著的区别在于,hibernate将具体的SQL写在xxxDao.java文件中,而mybatis的xxxDao.java文件的作用则是调用xxxDao.xml,把具体语句写在xml文件中
也就是hibernate只需要一个.xml文件来统一配置注册各个类的数据库操作,方便管理。缺点在于xxxDao.java文件繁多,而且由于SQL夹在java文件中,维护时相对麻烦。

mybatis由于SQL语句和表对应关系都写在xml中,因此对基本不需要对xxxDao.java进行修改,业务变化时只需更改xml文件即可。也就是相较于hibernate的xxxDao.java用来实现具体数据库操作,mybatis将这种结构再进一步细化剥离,由一个复杂的.java文件变为纯粹作为调用中介的简易.java文件和一个实现操作的.xml文件。也就是mybatis的调用流程多了一层。controller调用service,service调用serviceImpl,serviceImpl调用xxxDao,xxxDao最终指向xxxDao.xml执行SQL。从中也能了解到,这种模式的缺点在于xml文件过多

换言之,hibernate有一个xml和多个xxxDao.java;mybatis则是多组的xml和xxxDao.java搭配。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值