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

步入了Mybatis的学习之中,以下为其相关内容的细化笔记整理,包括Mabits的简介以及快速入门和resultMap部分。

点击查看代码
-- 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的性质以及配置 ResultMap
点击查看代码
--  数据库表的字段名称和实体类的属性名称不一样,则不能自动封装数据。
--  1.起别名,在SQL语句中对不一样的列名起别名,别名和实体属性名一样
--   *可以定义<sql>片段,提升复用性
--  2.resultMap: 定义<resultMap>完成不一致的属性名和列名的映射
--
--
--   *起别名:对不一样的列名起别名,让别名和实体类的属性名一样
--     *缺点:每次查询都要定义一次别名
--        *sql片段
--           *缺点:不灵活
--  *resultMap:
--      1.定义resultMap标签
--      2. 使用resultMap替换resultType属性
--
-- <!--
--     namespace:名称空间
-- -->
----------Moonbeams.
posted @   Moonbeamsc  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
返回顶端
点击右上角即可分享
微信分享提示