简介

什么是mybatis

mybatis是对jdbc技术的封装,简化数据库操作代码。

封装以下功能:
--封装了建立连接,设置参数,执行sql,释放连接的过程。
(提供连接参数,sql,sql的参数)

--封装了查询结果映射成实体对象的过程
(实体类属性名和数据表字段名最好要保持一致)
Emp emp = new Emp( );
emp.setName(rs.getString("name"));

findById --> Emp --> sqlSession.selectOne( );
findAll --> List<Emp> sqlSession.selectList( );

--封装了Sql语句中参数设置的过程(提供sql时,参数想给sql映射,利用#{属性名}替代?)
insert into Emp values(#{属性名},?,?)
ps = conn.preparedStatement(sql);
ps.setString(1,"tom");

开发者使用需要做以下工作
--搭建MyBatis框架环境
--根据数据表定义实体类(名称一致)
--根据操作写sql语句
--利用sqlSession调用操作

MyBatis的结构
MyBatis使用涉及哪些文件
--SqlMapConfig.xml(主配置文件):定义了连接参数,框架参数,加载sql文件
--Sql映射文件(定义sql语句的xml文件)

MyBatis的基本应用
使用sqlsession实现CRUD
sqlSession.selectOne( );
sqlSession.selectList( );
sqlSession.insert( );
sqlSession.update( );
sqlSession.delete( );

Mapper映射器(映射sql操作)
本质:是一个接口规则,如果按照这套规则,定义接口,MyBatis可以根据接口动态生成接口的
实现组件(dao),这样就可以不需要自己写实现类了。
a、sql定义文件里namespace属性指定接口名"包名.接口名"
b、接口定义规则
--方法名需要与Sql定义中的id名称一致
--参数类型与Sql中的paramterType属性一致
--结果映射类型参考resultType属性,类型匹配
如果单行结果,就采用resultType定义类型
如果是多行结果,采用List<resultType>定义类型

使用resultMap等价与resultType,二者选一
不同点:resultMap 开发者可以自定义字段和属性名的对应关系
resultType 是默认字段名和属性名一致
resultMap主要是用来解决字段和属性名不一致的问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,134评论 0 4
  • Java数据持久化之mybatis 一. mybatis简介 1.1 原始的JDBC操作: Java 通过 Jav...
    小Q逛逛阅读 10,396评论 0 16
  • Spring 技术笔记Day 1 预热知识一、 基本术语Blob类型,二进制对象Object Graph:对象图...
    OchardBird阅读 4,563评论 0 2
  • Mybatis的前身是iBatis,iBatis原本就是apache的一个开源项目,2010年该项目有apache...
    默默无痕阅读 3,698评论 0 0
  • 白云霭霭映苍穹 绿树红花别样红 小径通幽无人静 春风拂面杨柳风
    就爱嗑瓜子阅读 4,379评论 0 1