MyBatis 学习笔记
2017-11-06 18:02
134 查看
ORM模型:数据库的表和POJO的映射关键模型。plain ordinary java object.
Hiberate:全表映射模型,对jdbc封装较高。不需要SQL,需要使用HQL。
pojo + 映射关系
hbm.xml:描述pojo 和数据库表的映射关系。
Hiberate,最致命的是性能问题,全表映射。存储过程不支持。
MyBatis:半自动映射框架 ,我们需要提供映射文件和SQL语句。
SQL+映射关系+POJO。
MyBatis的基本构成
SqlSessionFactoryBuilder :构造器,根据配置信息或者代码生成->SqlSessionFactory:工程结构生成-> SqlSession: 一个既可以发送SQL去执行并返回结果,也可以获取Mapper的接口。
SQL Mapper :Java接口+XML文件(映射器)
MyBatis应用都是以SqlSessionFactory的实例为中心。主要任务创建SqlSession(类似于jdbc的Connection).
映射器:
xml 的命名空间和我们定义的接口的全限定名一致。id 和我们接口方法一致。 parameterType 传递的参数,resultType 返回类型,由于id,roleName,note 和pojo的属性名称一致,MyBatis 自动映射。
RoleMapper 没有实现类,但是MyBatis 会为这个接口生成代理类对象,根据接口全路径+方法名,找到对应的XML文件去完成它所需要的任务。
Hiberate:全表映射模型,对jdbc封装较高。不需要SQL,需要使用HQL。
pojo + 映射关系
hbm.xml:描述pojo 和数据库表的映射关系。
Hiberate,最致命的是性能问题,全表映射。存储过程不支持。
MyBatis:半自动映射框架 ,我们需要提供映射文件和SQL语句。
SQL+映射关系+POJO。
MyBatis的基本构成
SqlSessionFactoryBuilder :构造器,根据配置信息或者代码生成->SqlSessionFactory:工程结构生成-> SqlSession: 一个既可以发送SQL去执行并返回结果,也可以获取Mapper的接口。
SQL Mapper :Java接口+XML文件(映射器)
MyBatis应用都是以SqlSessionFactory的实例为中心。主要任务创建SqlSession(类似于jdbc的Connection).
映射器:
package com.learn.chapter2.mapper; import com.learn.chapter2.po.Role; public interface RoleMapper{ public Role getRole(Long id); }
<mapper namespace ="com.learn.chapter2.mapper.RoleMapper"> <select id ="getRole" parameterType = "long" resultType ="role"> select id,role_name as roleName,note from t_role where id =#{id} </select> </mapper>
RoleMapper roleMapper = sqlSession.getMapper(RoleMapper.class); Role role = roleMapper.getRole(1L); System.out.println(role.getRoleName):
xml 的命名空间和我们定义的接口的全限定名一致。id 和我们接口方法一致。 parameterType 传递的参数,resultType 返回类型,由于id,roleName,note 和pojo的属性名称一致,MyBatis 自动映射。
RoleMapper 没有实现类,但是MyBatis 会为这个接口生成代理类对象,根据接口全路径+方法名,找到对应的XML文件去完成它所需要的任务。
相关文章推荐
- MyBatis学习笔记01
- Spring与mybatis整合---Mybatis学习笔记(十一)
- Mybatis学习笔记(五)
- MyBatis学习笔记(五)——实现关联表查询
- JavaWeb学习笔记-mybatis-20-一对多查询
- Mybatis学习笔记--(二)动态SQL
- MyBatis一对多双向关联——MyBatis学习笔记之七
- Spring boot 和 mybatis 学习笔记3--动态sql
- MyBatis源码学习笔记(二)
- mybatis和hibernate的区别---Mybatis的学习笔记(四)
- Mybatis学习笔记---day02关联关系查询
- SqlMapConfig.xml配置文件---Mybatis学习笔记(七)
- JavaWeb学习笔记-mybatis-18-一对一使用resultType
- Spring Boot学习笔记----mybatis注解(一)
- [知了堂学习笔记]_myBatis_04知识梳理
- Mybatis 学习笔记
- mybatis学习笔记03--与spring集成
- spring+mybatis轻量级企业框架的学习之路之错误笔记day04
- mybatis学习笔记