MyBatis学习一

内容均来自传智播客。

MyBatis开发dao两种方法:

         原始dao开发方法(程序需要写dao接口和dao实现类)

         Mybatis的mapper代理方法(程序员只需写mapper接口(相当于dao接口))

MyBatis配置文件SqlMapConfig.xml

MyBatis核心:

         MyBatis输入映射、MyBatis输出映射

MyBatis的动态sql

一、MyBatis框架原理


二、MyBatis开发dao两种方法

原始dao开发方法:需编写dao接口和dao实现类

mapper代理方法:只需编写mapper接口(相当于dao接口,mybatis可自动生成mapper接口实现类代理对象)

使用代理开发方法需遵循的规范:

A)在mapper.xml中namespace等于mapper接口地址

B)mapper.java接口中的方法名和mapper.xml中的id一致

C)mapper.java接口中的 方法输入参数类型和mapper.xml中statement的parameterType指定的类型一致

D)mapper.java接口中的方法返回值类型和mapper.xml中statement的resultType指定的类型一致

持久层方法的参数可以是包装类型、map等,service方法中建议不要使用包装类型(不利于业务层的扩展)

三、SqlSession

提供了很多操作数据库的方法;是线程不安全的,在SqlSession实现类中除了有接口中的方法(操作数据库的方法)还有数据域属性。

最佳应用场合在方法体内,定义成局部变量。

selectOne()和selectList():selectOne表示查询出一条记录进行映射;selectList表示查询出一个列表进行映射。

使用selectOne可实现,selectList也可实现;但是反之不行。否则会报错:

TooManyResultException:Exceptedone result(or null) to be returned by selectOne(),but found 4.

四、MyBatis和Hibernate区别

Hibernate:是一个标准ORM框架,入门门槛较高,不需要程序写sql,sql语句自动生成,对sql语句进行优化、修改比较困难。

         应用场景:适用于需求变化不多的中小型项目,比如:后台管理系统,erp,orm,oa

MyBatis:专注于sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。是一个不完全的ORM框架,虽然程序员自己写sql,MyBatis也可以实现映射(输入映射和输出映射)。

         应用场景:适用与需求变化较多的项目,比如:互联网项目





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值