首页 > 其他分享 >MyBatis

MyBatis

时间:2022-10-24 20:12:41浏览次数:69  
标签:Map 封装 Mybatis map put MyBatis

MyBatis

什么是Mybatis

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

Mybatis本是Apache的一个开源项目iBatis,2010年这个项目由apache software foundation迁移到了google code,并且改名为Mybatis。2013年11月迁徙到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);

标签:Map,封装,Mybatis,map,put,MyBatis
From: https://www.cnblogs.com/jy-all-bug/p/16822633.html

相关文章

  • Mybatis
    ResultMap结果集映射多对一按照查询嵌套处理:需要两个查询,被嵌套的<association>需要column以及select属性按照结果嵌套处理:不需要column以及select属性对于数据......
  • springMvc整合mybatis和mybatis 的dao层
    springMvc整合mybatis1.1pom注入依赖<dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId>......
  • 【转】MyBatis 通过Map更新
     原文:mybatis使用map批量更新(Oracle)有个需求,MyBatis通过Map的key作为条件,value作为更新后的值来更新数据。 <updateid="batchUpdateLogistics"parameterType="m......
  • mybatis 四大组件
     一、Mybatis四大组件二、SqlSession四大对象这里阐述一下上图的流程Exeutor发起sql执行任务1、先调用statementHandler中的prepare()进行SQL的编译2、然后调用st......
  • MyBatisSystemException 【exception】
    org.mybatis.spring.MyBatisSystemException:nestedexceptionisorg.apache.ibatis.type.TypeException:Couldnotsetparametersformapping:ParameterMapping{prop......
  • 聊聊 MyBatis 缓存
    聊聊MyBatis缓存首发公众号-悟空聊架构:图解|聊聊MyBatis缓存你好,我是悟空。本文主要内容如下:一、MyBatis缓存中的常用概念MyBatis缓存:它用来优化SQL数据......
  • 集成mybatis批量update问题
    <!--多条语句批量更新用的是拼接批量执行的方法--><updateid="updateDemo"><foreachcollection="list"item="item"index="index"open=""close=""separa......
  • MyBatisPlus
    一、MyBatisPlus简介概念MyBatisPlus(简称MP)是基于MyBatis框架基础上开发的增强型工具,旨在简化开发、提高效率。开发方式基于MyBatis使用MyBatisPlus基于Spring使......
  • SpringBoot项目整合Mybatis时Mapper.xml文件的存放位置
    SpringBoot项目整合Mybatis时Mapper.xml文件的存放位置目录:方式一:放在与Mapper接口同级目录方式二:在resources创建Mapper接口同名文件夹用来存放Mapper.xml文件方式三:......
  • 13. MyBatis的分页插件
    一、为什么要使用分页插件  如果不使用分页插件,那需要我们在写SQL语句的时候手动实现分页,SQL语句的编写如下:select字段名1,字段名2,...from表名where查询条件......