首页 > 其他分享 >2024/10/24日 日志 --》关于Mybatis的学习笔记整理 - 环境与性质

2024/10/24日 日志 --》关于Mybatis的学习笔记整理 - 环境与性质

时间:2024-10-24 16:11:21浏览次数:1  
标签:24 10 映射 Mapper -- 接口 SQL Mybatis

步入了Mybatis的学习之中,以下为其相关内容的细化笔记整理

点击查看代码
-- MyBatis 
-- ·MyBatis是一款优秀的 持久层框架,用于简化JDBC开发
-- ·官网:https://mybatis.net.cn/	
-- 持久层:
-- ·负责将数据保存到数据库的那一层代码
-- JavaEE三层架构:表现层、业务层、持久层  分别对应 页面展示 逻辑处理 数据持久化
-- 框架:
-- ·框架就是一个半成品软件,是一套可重用的、通用的、软件基础代码模型
-- ·在框架的基础之上构建软件编写更加高效、规范、通用、可扩展
-- JDBC缺点 与Mybatis简化
--  1.硬编码 --->配置文件
--   --》注册驱动,获取连接
--   --》SQL语句 
--  2.操作繁琐 --->自动完成
--   --》手动设置参数
--   --》手动封装结果集
-- 
-- MyBatis 快速入门
-- 步骤:查询User表中所有数据
-- 1.创建user表,添加数据
-- 2.创建模块,导入坐标
-- 3.编写MyBatis核心配置文件 -->替换连接信息 解决硬编码
-- 4.编写SQL映射文件 -->统一管理sql语句,解决硬编码问题
-- 5.编码
--    1.定义POJO类
--    2.加载核心配置文件,获取SqlSessionFactory对象
--    3.获取SqlSession对象,执行SQL语句
--    4.释放资源
-- 
-- 解决SQL映射文件的警告提示
-- ·产生原因:IDEA和数据库没有建立连接,不识别表信息
-- ·解决方式:在IDEA中配置MySQL数据库连接 
-- 
-- Mapper 代理开发
-- ·目的
--   --》解决原生方式中的硬编码
--   --》简化后期执行SQL 
-- 示例:
-- 原:
-- //3.执行SQL
-- List<User>users = sqlSession.selectList("test.selectAll");
-- 后:
-- //3.获取接口代理对象
-- UserMapper UserMapper = sqlSession.getMapper(UserMapper.class);
-- //4.执行方法,起始就是执行SQL语句
-- List<User>users = userMapper.selectAll();
-- 
-- 使用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映射文件的加载
-- 
-- MyBatis
-- 类型别名typeAliases
-- <typeAliases>
--   <package name = "com.itheima.pojo"/>
-- </typeAliases>
-- 细节:配置各个标签时需要遵守前后顺序. 具体在官网核心配置文件查看.
--
-- MyBatisX插件
-- ·MybatisX是一款基于IDEA的快速开发插件,为效率而生
-- 	·主要功能:
--  --》XML和接口方法相互跳转
--  --》根据接口方法生成statement
-- 
为方便笔记的连贯性本篇重点侧重于Mybatis的性质以及配置 ----------Moonbeams.

标签:24,10,映射,Mapper,--,接口,SQL,Mybatis
From: https://www.cnblogs.com/MoonbeamsC/p/18499802

相关文章

  • jQuery解决变量冲突
    ◼和jQuery库一样,许多JavaScript库也会使用$作为函数名或变量名。在jQuery中,$是jQuery的别名。如果我们在使用jQuery库之前,其它库已经使用了$函数或者变量,这时就会出现冲突的情况。这时我们可以通过调用jQuery中的noConflict函数来解决冲突问题。jQuery在初始化前会......
  • (系列九)使用Vue3+Element Plus创建前端框架(附源码)
    说明  该文章是属于OverallAuth2.0系列文章,每周更新一篇该系列文章(从0到1完成系统开发)。   该系统文章,我会尽量说的非常详细,做到不管新手、老手都能看懂。   说明:OverallAuth2.0是一个简单、易懂、功能强大的权限+可视化流程管理系统。友情提醒:本篇文章是属于系......
  • extern "c"的用法
    在我的印象里,extern"c"一直是c++调用c接口用的,用法是用exetrn"c"把相应写好的c接口包住。即在C++出现以前,很多代码都是C语言写的,而且很底层的库也是C语言写的,为了更好的支持原来的C代码和已经写好的C语言库,需要在C++中尽可能的支持C,而extern“C”就是其中的一......
  • 向量正交
    过原点的两向量\(u\)与向量\(v\)垂直相当于点\(a\)到点\(b\)的距离与点\(a\)到点\(-b\)的距离相等,也即它们的距离的平方相等。计算点\(a\)到点\(-b\)的距离:\(\begin{align}[distance(a,-b)]^2&=\lVertu-(-v)\rVert^2=\lVertu+v\rVert^2\\&=(u+v)\cdot(u+v)\\&=u\cdot(u+......
  • 数算选做
    线性数据结构中缀表达式的值#include<cstdio>#include<iostream>#include<stack>#include<cmath>usingnamespacestd;intT;boolisNumber(charx){ if(x<='9'&&x>='0')returntrue; returnfalse;}str......
  • 非煤矿山算法视频分析服务器皮带运行状态识别视频智能AI分析系统建设方案设计
    一、建设背景近年来,我国在非煤矿山的安全生产方面虽然取得了一定的进展,但整体安全基础仍然不牢固,事故数量依然较多,并且尚未从根本上控制住重大事故的发生,整体安全生产的形势依旧严峻且充满复杂性。根据国家矿山安全监察局发布的《关于煤矿及关键非煤矿山重大灾害风险防控体系建......
  • 学习笔记(二):声明式UI描述
    一、创建组件1、无参数组件:组件的接口定义没有包含必选构造参数,则组件后面的“()”不需要配置任何内容Divider()2、有参数组件如果组件的接口定义包含构造参数,则在组件后面的“()”配置相应参数Image('https://xyz/test.jpg')示例:Text组件的几种创建方式1、固定字符......
  • jQuery监听文档加载
    ◼jQuery监听document的DOMContentLoaded事件的四种方案$(document).ready(handler):deprecated$("document").ready(handler):deprecated$().ready(handler):deprecated$(handler):推荐用这种写法,其它可以使用但是不推荐//监听文档加载//方......
  • 刷题总结——树
    总结刷题中遇到的与树有关问题遍历问题前中后序遍历有递归与送代两种写法迭代时需要栈模拟,中序遍历单独注意写法(类似于模拟调用栈),后序遍历可以通过前序遍历+反转的方式实现题目LC编号注意事项前序递归144正常递归前序非递归144插入单个root后进行Stack......
  • mysql 1206 - The total number of locks exceeds the lock table size
    由于数据量过大导致报错:Thetotalnumberoflocksexceedsthelocktablesize解决方法:输入查询:showvariableslike"%_buffer%";找到对应的 innodb_buffer_pool_size 默认值是8388608  8兆将这个数值设置的大一点,比如1G1G=1024*1024*1024=1073741824 setGLOB......