Mybatis-PlusDruid数据源

news2024/9/20 22:05:40

一、Mybatis-Plus简介

(一)什么是Mybatis-Plus

  1. Mybatis-Plus是一个Mybatis(OPENS NEW WINDOW)的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发。

(二)Mybatis-Plus的优势

  1. 无侵入:只做增强不做改变,引入它不会对现有工程产生影响。
  2. 损耗小:启动即会自动注入基本curd,性能基本无损耗,直接面向对象操作。
  3. 强大的crud操作:内置通用mAPPER、通用sERVICE,仅仅通过少量配置即可实现单表大部分crud操作,更有强大的条件构造器,满足各类使用需求。
  4. 支持lAMBDA形式调用:通过 lAMBDA 表达式,方便的编写各类查询条件,无需再担心字段写错
  5. 支持主键自动生成:支持多达4种主键策略(内含分布式唯一 id 生成器 - sEQUENCE),可自由配置,完美解决主键问题。
  6. 支持aCTIVErECORD模式:支持 aCTIVErECORD 形式调用,实体类只需继承 mODEL 类即可进行强大的 crud 操作。
  7. 支持自定义全局通用操作:支持全局通用方法注入( WRITE ONCE, USE ANYWHERE )。
  8. 内置代码生成器:采用代码或者 MAVEN 插件可快速生成 MAPPER 、 MODEL 、 SERVICE 、 CONTROLLER 层代码,支持模板引擎,更有超多自定义配置等您来使用。
  9. 内置分页插件:基于 Mybatis物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List查询。
  10. 内置性能分析插件:可输出 sQL 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询。

(三)Mybatis-Plus的框架结构

二、Spring-Boot整合Mybatis-Plus入门 

(一)创建项目,添加依赖

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.30</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
            <version>3.5.7</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

(二)application.properties相关配置

spring:
  #?????
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 123456
logging:
  level:
    root: warn
    com.bdqn.demo.mapper: trace
  pattern:
    console: '%p%m%n'

(三)编写实体类

@Data
@TableName("sys_user")
public class User implements Serializable {

@TableId(type = IdType.AUTO)
@TableField("usr_id")
  private Long usrId;
@TableField("usr_name")
  private String usrName;
  private String usrPassword;
  private Long usrRoleId;
  private Long usrFlag;

(四)编写Mapper接口

public interface UserMapper extends BaseMapper<User> {
}

(五)测试

@SpringBootTest
class SpringBootT369PlusApplicationTests {

    @Resource
    private UserMapper userMapper;

    @Test
    public void testSelectById() {  //查询主键
        User user = userMapper.selectById(2L);
        System.out.println("usrName:" + user.getUsrName());
    }
}

三、Druid数据源简介

(一)概念与作用

Druid数据源是一款高性能、稳定、安全的数据源中间件,它主要用于Java应用程序中。Druid数据源兼容多种数据库,,如MySQL、Oracle、PostqreSQl等,可以为开发者提供一致、可靠的数据访问服务。


(二)特点与优势

Druid数据源具有以下特点和优势:
高性能:Druid数据源在性能上具有明显优势,通过多种优化策略,如二级缓存、连接池等,提高了数据访问效率
稳定可靠:Druid数据源在众多项目中得到了广泛应用,具有较高的稳定性和可靠性。
安全:Druid数据源支持加密和验证机制,保证了数据传输的安全性。
易用性:Druid数据源提供了丰富的API和配置项,方便开发者进行定制和扩展。

(三)Druid数据源的使用

(一) 引入依赖

       <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.2.4</version>
        </dependency>

     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

(二)application.properties相关配置

spring:
  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf-8
    username: root
    password: 123456
    type: com.alibaba.druid.pool.DruidDataSource #??????Druid???
    druid:
#初始化大小,最小,最大连接数
      initial-size: 3
      max-active: 10 
      min-idle: 3
#配置获取连接等待超时的时间
      max-wait: 60000 
#监控后台账号和密码
      stat-view-servlet-log-username: admin
      stat-view-servlet-log-password: admin
#配置StatFilter
      filter-stat-log-slow-sql: true
      filter-stat-slow-sql-millis: true

在以前项目基础上,增加对Druid连接池配置,以及SQL监控的配置,druid-spring-boot-starter默认情况下开启StatDilter的监控功能。

配置完成后,直接启动项目访问地址:http://localhost:8080/druid即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2118016.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言之头文件,预处理命令#include

0 为什么要添加头文件&#xff1f;为什么要使用头文件&#xff1f; 可以看下下面图片左边&#xff0c;是不使用头文件&#xff0c;假设我们为了实现某些功能&#xff0c;编写的函数&#xff0c;全部声明在主函数之前&#xff0c;写几个函数还行&#xff0c;如果是大型项目&…

Hadoop压缩技术与Hive文件格式详解

目录 文件格式和压缩 Hadoop压缩概述 压缩格式 Hive文件格式 Text File ORC 1&#xff09;文件格式 2&#xff09;结构 3&#xff09;建表语句 Parquet 1&#xff09;文件格式 2&#xff09;结构 3&#xff09;建表语句 压缩 Hive表数据进行压缩 1&#xff09;TextFil…

对话 IDC:一文带你了解低代码的技术趋势和平台选型

近日&#xff0c;葡萄城的活字格企业级低代码开发平台入选《中国低代码开发平台技术评估&#xff0c;2024》技术代表厂商&#xff0c;并在可视化开发、集成能力、开放性和兼容性以及生态能力维度获得五星评价。这一荣誉见证了葡萄城在低代码领域的技术实力与创新成果。 为进一…

Python 基本库用法:数学建模

文章目录 前言数据预处理——sklearn.preprocessing数据标准化数据归一化另一种数据预处理数据二值化异常值处理 numpy 相关用法跳过 nan 值的方法——nansum和nanmean展开多维数组&#xff08;变成类似list列表的形状&#xff09;重复一个数组——np.tile 分组聚集——pandas.…

不是你不想做 AI 产品,只是 UI 太贵劝退了你

"我有一个绝妙的 AI 产品创意!" "有想法就动起来呀~" "呃...还是算了吧,UI 太贵了,请不起" 相信不少人都有过这样的内心独白。 可能脑海中已经构思了无数个精彩的页面,甚至连细节都已经了然于胸。 但,在你准备大展拳脚的时候,现实给了…

鸿蒙开发5.0【弱引用】 使用

开发者需要依靠弱引用解决垃圾回收相关的内存管理问题。 强引用&#xff1a;默认的引用类型&#xff0c;被强引用的对象不会被垃圾回收。弱引用&#xff1a;允许对象在没有其他强引用时被垃圾回收&#xff0c;不会阻止垃圾回收器回收该对象。 场景一&#xff1a;使用弱引用打…

揭秘!老人帕金森与嗜睡之谜:是病症常态还是另有隐情?

在关爱老年人健康的道路上&#xff0c;帕金森病这一神经退行性疾病总是牵动着无数家庭的心。随着病情的发展&#xff0c;不少患者家属会发现&#xff0c;家里的老人似乎比以前更容易感到疲倦&#xff0c;甚至频繁出现嗜睡的情况。这不禁让人疑惑&#xff1a;老人帕金森会一直想…

数学建模——Box-Cox变换

用途&#xff1a;当某个随机变量 X X X 不服从正态分布的时候&#xff0c;可以尝试通过这种变换将其变成正态分布。 两个常用的变换 对数变换&#xff1a;已知随机变量 X X X&#xff0c;如果有 ln ⁡ X ∼ N ( μ , σ 2 ) \ln X\sim N(\mu,\sigma^2) lnX∼N(μ,σ2)&…

快被右下角的windows Defender烦死了,怎么让它消失?

前言 前段时间有小伙伴问&#xff1a;Windows自带的杀毒软件Windows Defender怎么关掉&#xff1f; 原因是无论在Windows Defender软件界面里怎么关闭&#xff0c;它都会拦截到某些软件和文件。 而且对于强迫症患者来说&#xff0c;右下角始终有个图标&#xff0c;还带了个x的…

【开源风云】从若依系列脚手架汲取编程之道(四)

&#x1f4d5;开源风云系列 &#x1f34a;本系列将从开源名将若依出发&#xff0c;探究优质开源项目脚手架汲取编程之道。 &#x1f349;从不分离版本开写到前后端分离版&#xff0c;再到微服务版本&#xff0c;乃至其中好玩的一系列增强Plus操作。 &#x1f348;希望你具备如下…

有了室内外一体化人行导航,你还怕迷路吗?

在快节奏的现代生活中&#xff0c;无论是穿梭于繁华的都市丛林&#xff0c;还是漫步于错综复杂的购物中心&#xff0c;迷路似乎成了不少人的“小确丧”。然而&#xff0c;随着科技的飞速发展&#xff0c;一项革命性的创新——室内外一体化人行导航系统&#xff0c;正悄然改变着…

CAN总线(一)

CAN总线&#xff08;Controller Area Network Bus&#xff09;&#xff0c;从名字上可以知道&#xff0c;CAN总线构建的是一种局域网网路&#xff0c;每个挂载在CAN总线上的设备都可以利用这个局域网去发送自己的消息&#xff0c;也可以接收局域网的各种消息&#xff0c;每个设…

解锁高效驱动密码:SiLM8260A系列SiLM8260ABCS-DG 集成米勒钳位的双通道隔离驱动芯片

附上SiLM8260A同系列型号参考&#xff1a; SiLM8260ADCS-DG 12.5V/11.5V SiLM8260ABCS-DG 8.5V/7.5V SiLM8260AACS-DG 5.5V/5V SiLM8260AGCS-DG 3.5V/3V SiLM8260ABCS-DG是一款集成了米勒钳位功能的双通道隔离驱动芯片&#xff0c;它精准地满足了上述严苛条件。具备…

Excel排序错误原因之一

# Excel日常表格中的文字排序乱了&#xff0c;在系统语言更改成英语之后&#xff0c;不再按照首字母的顺序排列&#xff0c;且强制设置序列顺序也无济于事。 Excel表格内的排序尝试 表格基础选项就有“排序”&#xff0c;在其自定义选项中的“选项”设置处设置“拼音排序”&am…

2024年实体行业都在用的AI自动直播,有哪些可以发展的机会?

抖捧AI自动直播系统&#xff0c;是一款结合Ai和短视频营销的自动化直播辅助工具&#xff0c;针对企业和实体店有多重的应用场景&#xff0c;通过预设的直播脚本和智能回复逻辑&#xff0c;实现不需要真人参与&#xff0c;就可以实现全天候24小时直播&#xff0c;当用户进入直播…

【Java基础】ThreadLocal<LoginUser>:存储登录用户信息

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【一篇文章搞定】LVGL显示中文+解决keil下LVGL无法正常显示中文及error:#8:missing closing quote问题

LVGL显示中文 进入lvgl中文文档&#xff1a;显示中文 — LVGL 文档 (100ask.net) 下载字体zip文件&#xff0c;解压得到一个.otf文件 进入LVGL的字体转换网站 Font Converter — LVGL 1.点击Browse指定.otf文件即可 2.range不用管 3.为了节省内存在Symbols中输入自己要使用的…

【计算机网络】概述篇

目录 导学 计算机网络的发展简史 互联网的发展历史 中国互联网的发展历史 计算机网络的层次结构 层次结构设计的基本原则 OSI七层模型 TCP/IP四层模型 现代互联网的网络拓扑 计算机网络的性能指标 速率 时延 发送时延 ​传播时延 ​排队时延 处理时延 总时延 …

K8S - Emptydir - 取代ELK 使用fluentd 构建logging saidcar

由于k8s 的无状态service 通常部署在多个POD中&#xff0c; 实现多实例面向高并发。 但是k8s 本身并没有提供集中查询多个pod的日志的功能 其中1个常见方案就是ELK. 本文的方案是 利用fluentd sidecar 和 emptydir 把多个pod的日志导向到bigquery的table中。 Emptydir 的简介 …

STM32F407ZGT6单片机HAL库——DAC输出

一、输出直流电压 1.cubemax的配置&#xff08;通道1&#xff09; 2.直流电压大小计算 3.主函数加入初始化的程序 float DAC_voltage1.5;HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, DAC_voltage*4095/3.3);//HAL_DAC_Start(&hdac,DAC_CHANNEL_1); 二、…