java全栈day20--Web后端实战(Mybatis基础2)

embedded/2024/12/26 3:38:19/

一、Mybatis基础

1.1辅助配置

         配置 SQL 提示。

默认在 mybatis 中编写 SQL 语句是不识别的。可以做如下配置:

现在就有sql提示了

新的问题

产生原因: Idea 和数据库没有建立连接,不识别表信息
解决方式:在 Idea 中配置 MySQL 数据库连接

可以了不冒红(可以建立多个连接)

配置 Mybatis 的日志输出

1.2 JCBD VS Mybaits

1.3数据库连接池

数据库连接池是个容器,负责分配、管理数据库连接 (Connection) 。
     它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个。
     释放空闲时间超过最大空闲时间的连接,来避免因为没有释放连接而引起的数据库连接遗漏(比如,一个sql用了一个连接,但它迟迟没有使用,就无法归还,连接越用越少)。

怎么解决呢:连接池里面有一个类似定时器的东西,如果持续不释放,定时到了会强制归还连接

优势:


1. 资源重用
2. 提升系统响应速度
3. 避免数据库连接遗漏

标准接口: DataSource
        官方 (sun) 提供的数据库连接池接口,由第三方组织实现此接口。
        功能:获取连接

推荐使用

咱们的入门程序是Hikari,默认的

现在咱们来切换

结果

小结

数据库连接池
 是一个容器,负责分配、管理数据库连接 (Connection)
优势:资源复用、提升系统响应速度
接口: DataSource
产品: C3P0 、 DBCP 、 Druid 、 Hikari

1.4 XML映射配置

前言:咱们的Mybaits当中sql语句是定义在注解里面。

下面解释另一种方法,可以将sql语句定义在XML文件中。

在 Mybatis 中,既可以通过注解配置 SQL 语句,也可以通过 XML 配置文件配置 SQL 语句。
        规则:
1. XML 映射文件的名称与 Mapper 接口名称一致,并且将 XML 映射文件和 Mapper 接口放置在相同包下(同包同名)。

扩展一下


2. XML 映射文件的 namespace 属性为 Mapper 接口全限定名一致。


3. XML 映射文件中 sql 语句的 id 与 Mapper 接口中的方法名一致,并保持返回类型一致。

在sql语句(select....)查询完成之后,每一条记录都需要封装到User对象当中

结果

XML映射文件

提高XML效率

那在 Mybatis 的开发中,到底使用注解开发还是使用 XML 开发呢 ?
        使用 Mybatis 的注解,主要是来完成一些简单的增删改查功能。如果需要实现复杂的 SQL 功能,建议使用 XML 来配置映射语句。

小结


http://www.ppmy.cn/embedded/148791.html

相关文章

白牛空壳企业数据库介绍

目录 一、研发背景 二、主要应用场景、 (一)信贷风险管理 (二)营商环境治理 (三)招商项目审查 (四)市场活力研究 三、空壳企业特征分析 (一)企业主体异常 &am…

el-table中合并垂直方向的单元格

el-table中合并垂直方向的单元格 一、合并垂直方向单元格&#xff0c;有相同字段的合并一起 一、合并垂直方向单元格&#xff0c;有相同字段的合并一起 合并一起的都有相同的字段mergeType <el-tableclass"merge-table":data"tableData"v-loading"…

【kubernetes】资源管理方式

目录 1. 说明2. 命令式对象管理3. 命令式对象配置4. 声明式对象配置5. 三种方式的对比 1. 说明 1.在Kubernetes&#xff08;k8s&#xff09;中&#xff0c;资源管理是一个核心功能&#xff0c;它允许用户通过操作资源来管理Kubernetes集群。2.Kubernetes将所有的内容都抽象为资…

【多维DP】力扣576. 出界的路径数

给你一个大小为 m x n 的网格和一个球。球的起始坐标为 [startRow, startColumn] 。你可以将球移到在四个方向上相邻的单元格内&#xff08;可以穿过网格边界到达网格之外&#xff09;。你 最多 可以移动 maxMove 次球。 给你五个整数 m、n、maxMove、startRow 以及 startColu…

C++的侵入式链表

非侵入式链表 非侵入式链表是一种链表数据结构&#xff0c;其中每个元素&#xff08;节点&#xff09;并不需要自己包含指向前后节点的指针。链表的结构和节点的存储是分开的&#xff0c;链表容器会单独管理这些指针。 常见的非侵入式链表节点可以由以下所示&#xff0c;即&a…

[Python] 圆形嵌套图Circular Packing

在Python中&#xff0c;生成圆形嵌套图&#xff08;Circular Packing&#xff09;通常涉及使用图形库或可视化工具来绘制一系列嵌套的圆形&#xff0c;这些圆形可能代表某种层次结构或数据分布。一个流行的选择是使用 matplotlib 库&#xff0c;它是Python中一个广泛使用的绘图…

iClient3D for Cesium在Vue中快速实现场景卷帘

作者&#xff1a;gaogy 1、背景 iClient3D for Cesium是由SuperMap提供的一个前端3D地图客户端&#xff0c;提供了丰富的功能与接口&#xff0c;使得开发者能够在Web应用中快速集成并展现3D地理信息。而在Vue框架中集成iClient3D&#xff0c;不仅可以利用Vue的响应式特性提高开…

lxml提取某个外层标签里的所有文本

html如下 <div data-v-1cf6f280"" class"analysis-content">选项D错误&#xff1a;<strong>在衡量通货膨胀时&#xff0c;</strong><strong>消费者物价指数使用得最多、最普遍</strong>。 </div> 解析html文本 fro…