首页 > 其他分享 >MyBatis简单了解

MyBatis简单了解

时间:2023-01-21 10:22:27浏览次数:71  
标签:Mapper 映射 编码 简单 接口 了解 SQL MyBatis

MyBatis

其中:二中的2、3是使用的基本

一、概述:

什么是MyBatis

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

​ MyBatis 本是 Apache 的一个开源项目iBatis,2010年这个项目由apache software foundation 迁移到了google code,并改名为MyBatis。2013年11迁移到Github

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

持久层

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

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

框架

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

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

二、学习

1、了解作用:

JDBC 缺点:

1、硬编码(字符串):

​ 注册驱动 获取连接

​ 定义SQL语句

2、操作繁琐:

​ 手动设置参数

​ 手动封装结果集

MyBatis简化:

​ 硬编码 ---> 配置文件

​ 操作繁琐 ---> 自动完成

MyBatis 免除了几乎所有的JDBC代码,以及设置参数和获取结果集的工作

2、MyBatis快速入门:

查询user表中所有数据

​ 1、创建user表,添加数据

​ 2、创建模块,导入坐标

​ 3、编写MyBatis 核心配置文件 ---> 替换连接信息 解决硬编码问题

​ 4、编写SQL映射文件 ---> 统一管理sql语句

​ 5、编码

​ 1、定义PoJo类

​ 2、加载核心配置文件,获取 SqlSessionFactory 对象

​ 3、获取 SqlSession 对象,执行SQL对象

​ 4、释放资源

解决SQL映射文件的警告提示:

​ 产生原因:IDEA和数据库没有建立连接,不识别表信息

​ 解决方式:在IDEA中配置MySQL数据库连接

3、Mapper 代理开发:

目的:

​ 解决原生方式中的硬编码

​ 简化后期执行SQL

使用Mapper代理方式完成入门案例

​ 1、定义与SQL映射文件同名的Mapper接口,并且将Mapper接口和SQL映射文件放置在同一目录下

​ 2、设置SQL映射文件的namespace属性为Mapper接口全限定名

​ 3、在Mapper接口中定义方法,方法名就是SQL映射文件中sql语句的id,并保持参数类型和返回值类型一致

​ 4、编码:

​ 1、通过 SqlSession 的 getMapper方法获取 Mapper接口的代理对象

​ 2、调用对应方法完成sql的执行

细节:如果Mapper接口名称和SQL映射文件名称相同,并在同一目录下,则可以使用包扫描的方式简化SQL映射文件的加载

<mappers>
        <!-- 加载sql的映射文件 -->
<!--        <mapper resource="com\itheima\mapper\UserMapper.xml"/>-->

        <!-- Mapper代理方式 -->
        <package name="com.itheima.mapper"/>
</mappers>
4、MyBatis 核心配置文件:
<!-- 取别名 -->
<typeAliases>
        <package name = "com.itheima.pojo"/>
</typeAliases>

注意:配置各个标签时需要遵守前后顺序。

标签:Mapper,映射,编码,简单,接口,了解,SQL,MyBatis
From: https://www.cnblogs.com/fragmentary/p/17063641.html

相关文章

  • MyBatis中配置文件实现增删改查
    配置文件完成增删改查:完成品牌数据的增删改查操作要完成的功能列表清单:​ 1、查询:​ 查询所有数据​ 查看详情​ 条件查询​ 2、添加​ 3、......
  • 系统的混乱并非业务本身之复杂,我们并不擅长处理『简单』
    前言一群高智商青年在餐厅吃饭,餐桌上一个瓶盖标识为盐的瓶子里装得是胡椒粉,而标识为胡椒粉的瓶子里装得却是盐,他们想出了一个充满才气的方案来完成对调--仅需要一......
  • 互斥锁简单介绍
    可重入锁意思是object.lock()获取锁后,可以再次使用object.lock()获取锁,如果发生了死锁就不是可重入锁公平锁就是排队买票,不公平锁就是插队买票锁实现的基本原理1.需要一......
  • stencil的简单使用
    这边给unlit(不发光)shader加上stencil功能Unlit_Stencil.shader,其中stencil相关的用//-----包起来了Shader"My/Unlit_Stencil"{Properties{_Mai......
  • dremio backend webserver 简单说明
    dremio的webserver是基于jetty+jersey开发的webserver同时也和标准的dremio服务一样实现了service接口方便服务的启动具体是由DACDaemon调用触发的启动webserve......
  • 史上最简单 OpenCV for C++ 在 Windows 和 Ubuntu 上编译安装使用教程
    准备工作原材料Ubuntu系统(非必须,Windows也可以,主要是Ubuntu适合编译)OpenCV3.4.1压缩包OpenCVcontrib3.4.1压缩包MinGW(Windows上运行GCC)版本信息......
  • 了解Spring
    目录Spring概述Spring家族SpringFrameworkSpringFramework特性SpringFramework五大功能模块(仅是SpringFramework)Spring概述官网地址:https://spring.io/Spring......
  • Mybatis
    持久层框架持久化:持久化就是将程序的数据再持久状态和瞬时状态持久化方法:数据库(jdbc)、io文件持久化内存:断电即失持久层:完成持久层的代码Dao层,Service层,Cont......
  • dremio daemon 的admin 管理cli 简单说明
    admincli提供了对于dremio维护的能力,包含了备份,清理元数据,导出profile,nessie维护,恢复,更新kv存储、重置密码。。。修复acl(企业版特性)参考代码处理基于了注解以及......
  • 从共地到浮地的简单介绍
    在模拟电路中,如果需要仿真电路或者分析电路,经常需要找到地在哪里,即GND,之后才能开始进行分析。比如一个同相放大电路,正常画法如下图所示。当输入电压为1V时,输出电压为2V。......