cnflat0 2020-01-23
Mybatis入门
Mybatis简介
Mybatis中文官网:http://www.mybatis.cn/82.html
Mybatis前身
Mybatis的前身是Apache的开源框架iBatis,与Hibernate一样是一个Java持久层的框架。
Mybatis的优势在于灵活,它几乎可以替代JDBC,同时提供了接口编程。目前Mybatis的数据访问层DAO(Data Access Object)是不需要实习类的,它只需要一个接口和XML(或者注解),建议使用注解来实现。Mybatis提供自动映射,动态SQL,级联,缓存,注解,代码和SQL分离等特性,使用方便,同时也对SQL进行优化。因为其具有封装少,映射多样化,支持存储过程,可以进行SQL优化等特点,是的它取代了Hibernate成为Java互联网中首选持久层框架。
Mybatis的三个优点
1.不屏蔽SQL,意味着可以更为精确定位SQL语句,可以对其进行优化和改造,这有利于互联网系统性能的提高,符合互联网需要性能优化的特点。
2.提供强大、灵活的映射机制,方便Java开发者使用。提供动态SQL的功能,允许我们根据不同组装SQL,这个功能远比其他工具或者Java编码的可读性和可维护性高得多,满足各种应用系统的同时也满足了需求经常变化的互联网应用的要求。
3.在Mybatis中,提供了使用Mapper的接口编程,只需一个接口和一个XML就能创建映射器,一进步简化我们的工作,使得很多框架API和Mybatis中消失,开发者更能集中于业务逻辑
4.基于浙源,Mybatis成为Java互联网时代的首选持久层框架。
添加依赖
Mybatis映射语句
MyBatis 强大在于映射语句,专注于SQL,功能强大,SQL映射的配置却是相当简单
SQL映射文件的几个顶级元素(按照定义的顺序)
mapper - namespace 用于区分不能的mapper,全局唯一
绑定Dao接口, namespace必须与接口的完全类限定名
cache - 配置给定命名空间的缓存
cache-ref - 从其他命名空间引用缓存配置
resultMap - 用来描述数据库结果集和对象的对应关系
sql - 可以重用的SQL块,也可以被其他语句引用
insert - 映射插入语句
update - 映射更新语句
delete - 映射删除语句
select - 映射查询语句
select查询语句 传递参数:#{属性名或map键名}
查询中单个参数,可在select节点中设置parameterType=基本数据类型
查询中有多个参数
方式一:封装到实体对象中
方式二:封装到集合Map中
方式三:使用@Param