MyBatis

MyBatis

什么是Mybatis

Mybatis是一款优秀的持久层框架,用于简化JDBC开发

Mybatis本是Apache的一个开源项目iBatis2010年这个项目由apache software foundation迁移到了google code,并且改名为Mybatis201311月迁徙到Github

官网:http://mybatis.org/mybatis-3/zh/index.html

持久层

负责将数据保存到数据库的那一层代码

JavaEE三层架构:表现层、业务层、持久层

框架

框架就是一个半成品软件,是一套可重用的,通用的、软件基础代码模型

在框架的基础上构建软件编写更加高效、规范、通用、可扩展

 

JDBC缺点

  1. 硬编码:

1.注册却动,获取连接  

2.SQL语句

  1. 操作繁琐
    1. 手动设置参数
    2. 手动封装结果集

Mybatis简化

  1. 配置文件
  2. 自动完成

 

MyBatis快速入门

  1. 创建user表,添加数据
  2. 创建模块,导入坐标
  3. 编写MyBatis核心配置文件 : 替换连接信息 解决硬编码问题
  4. 编写SQL映射文件  统一管理sql语句 解决硬编码问题
  5. 编码:
    1. 定义pojo
    2. 加载核心配置文件,获取SqlSessionFactory对象
    3. 获取SqlSession对象,执行SQL语句
    4. 释放资源

Mapper 代理开发

目的:解决原生方式中的硬编码

简化后期执行SQL

 

 

MyBatis

MyBatis接口方法中可以接收各种各样的参数,MyBatis底层对于这些层数进行不同的封装处理方式

单个参数:

  1. POJO类型:直接使用 实体类属性名和参数占位符名称一致
  2. Map集合:直接使用,键名和参数占位符一致
  3. Collection:封装为Map集合

map.put(collection,collection);

map.put(arg0,collection);

  1. List:封装为Map集合

map.put(collection,list);

Map.put(list,list);

Map.put(gra0,list);

  1. Array:封装为Map集合

map.put(array,数组);

map.put(arg0,数组);

  1. 其他类型:直接使用

多个参数:封装为Map集合

map.put(arg0,参数值1);

map.put(param1,参数值1);

map.put(arg1,参数值2);

map.put(aparam2,参数值2);

 

注解完成增删改查

@Select查询

@Insert插入

@Update修改

@Delete删除

注解完成简单功能

配置文件完成复杂功能

@Select(select * from tb_user where id =#{id});

Public User selectById(int id);

posted @ 2022-10-24 20:04  代不动码  阅读(47)  评论(0)    收藏  举报