0%

MyBatis 入门—(自学笔记)

【介绍】MyBatis 自学笔记

1.MyBatis

1.1 简介

MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生类型、接口和 Java 的 POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。

MyBatis 本是apache的一个开源项目iBatis框架,后来经过一些改进并改名为MyBatis。它主要对jdbc操作数据库的过程进行封装。

JDBC的封装框架主要有;

  Hibernate dbutils jdbcTemplate[spring]  mybatis

原理介绍:

  Mybatis通过xml或注解的方式将要执行的各种statement(statement、preparedStatemnt、CallableStatement)配置起来,并通过java对象和statement中的sql进行映射生成最终执行的sql语句,最后由mybatis框架执行sql并将结果映射成java对象并返回。

1.2 MyBatis的框架核心


  1、mybatis配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了SQL执行相关的信息。

  2、 mybatis通过读取配置文件信息(全局配置文件和映射文件),构造出SqlSessionFactory,即会话工厂

  3、 通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的

  4、SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)。

  5、Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括HashMap集合对象、POJO对象类型。

2 入门


2.1 简单操作流程如下:

  除此之外,还有个更多模糊查询用户信息、插入用户信息、删除用户、更新用户、MySQL自增主键、MySQL自增UUID等。

需要注意的属性有:

  • selectOne和selectList
      selectOne:只能查询0或1条记录,大于1条记录的话,会报错:

  selectList:可以查询0或N条记录

  • #{}和${}
  • parameterType和resultType

  后两个详见:parameterType属性传参类型介绍

2.2 MyBatis的Dao编写

  • 传统方式

  • mapper代理方式实现

    开发规范:

  1. mapper接口的全限定名要和mapper映射文件的namespace的值相同。
  2. mapper接口的方法名称要和mapper映射文件中的statement的id相同;
  3. mapper接口的方法参数只能有一个,且类型要和mapper映射文件中statement的parameterType的值保持一致。
  4. mapper接口的返回值类型要和mapper映射文件中statement的resultType值或resultMap中的type值保持一致;

2.3 一些其他的配置

  1. properties数据库文件配置
  2. setting
  3. 别名typeAliases(三种方式)
  - mappers

    <mapper resource=''/>

    <mapper url=''/> 【一般不用】

    <mapper class=''/>

    <package name=''/>(推荐使用)

2.4 动态SQL

  if和where标签
  SQL片断
  foreach标签

3 mybatis与hibernate的区别【面试题】

  请参考这篇文章…….


参考:

  JAVAEE——Mybatis(Mybatis介绍配置使用以及与Spring整合)
  以及自学视频的笔记


-------------    本文结束  感谢您的阅读    -------------