单手撸了个springboot+mybatis+druid

SpringBoot+Druid+Mybatis连接Oracle 最近有一个新项目需要开发搭建了个SpringBoot框架 记录一下! Oracle连接jar编译到maven仓库参考:Maven编译jar包到本地仓库 1、SpringBoot版本: 2.1.6.RELEASE 2、pom配置 <!-- jdbc配置 --> <dependency> <groupI... 阅读详情
13467292-8c650b54256c3019

本文旨在用最通俗的语言讲述最枯燥的基本知识

最近身边的程序员掀起了学习springboot的热潮,说什么学会了springboot在大街上就可以横着走、什么有了springboot妈妈再也不担心我的编程了、什么BAT都喜欢的框架…听得作者那个心痒痒的,于是找了个时间,下载了个idea来玩一波springboot,对了…用springboot最好用idea,如果你还在用eclipse,删了吧。

在这里解释一下为什么是springboot+mybatis+druid,是因为作者认为但凡任何一个有灵魂的项目,都少不了数据库,作者不喜欢用JPA那种混SQL的语法,因此选了mybatis,而Druid是阿里系(真香~)的一种数据库连接池框架,在上一个项目作者用的屡试不爽,因此打算继续用,为啥屡试不爽?看文末吧。

文章提纲:

创建springboot工程

配置pom.xml

配置数据源

设置mybatis

hello world

设置Druid监控配置

1. 创建springboot工程

只要你有idea,创建一个springboot工程,就跟捏死一个蚂蚁一样简单,因为idea里深度集成了对springboot项目的支持,你直接不停的next到最后,它就会帮你创建出一个springboot工程。

首先打开idea->Create New project->选择项目类型:这里选择spring initializr,然后next。

13467292-873a59bb3f264699

创建项目,填写项目名称,注意:不要能驼峰写法,可以用中横线,填写完毕后继续next。

13467292-e3faa35ab4eb579d

选择依赖,所谓依赖就是你在设计这个项目的框架时,分析这个项目需要用到哪些jar或者组件,比如缓存要用到Redis,数据库要用到MySQL等…这里因为演示项目,就不选择太多其它乱七八糟的依赖了。

13467292-74c1d328c6ac753b

选好依赖之后,又是一路狂点next,直到最后finish一下,一个springboot项目就创建好了。

13467292-5ad56f27f4ad0f6e

2. 配置pom.xml

想想,我们需要哪些jar?

数据库要用到mybatis,数据库连接池要用到Druid、MySQL桥接器要用到mysql-connector,因此要maven仓库(点我去仓库)中找到搜索这些pom加进去。注意,mybatis要用mybatis-spring-boot-starter。

1

2

3 mysql

4 mysql-connector-java

5 5.1.6

6

7

8

9 com.alibaba

10 druid

11 1.1.10

12

13

14

15 org.mybatis.spring.boot

16 mybatis-spring-boot-starter

17 1.3.2

18

复制代码

把上面这些pom放到pom.xml的dependencies中

13467292-bf9c030c0d323f41

细心的老铁会发现,MySQL的version里的内容是红色的,这是什么原因呢?

这是因为我们引入pom时,这些版本的jar在本地maven仓库还没有,而Druid的pom里的version没有显示红色,是因为之前的项目用到了这个版本的Druid,已经被下载到本地Maven仓库里了。

因此我们需要把本地没有的jar下载到本地仓库,右键pom.xml弹出菜单,选择Maven,弹出菜单选择reimport

13467292-73a62eda92b0a571

Reimport过程中再idea底部会有进度条显示,等进度条消失,在观察pom.xml,红色已经消失,说明依赖已经装备完成。

配置数据源

接下来就是要多springboot项目做一个全局配置,默认会在src->main->resource目录下生产空白文件application.properties,作者喜欢用yml因此直接改名成yml即可。

首先是数据源的配置,下面是一份数据源的配置,每个参数的解释都写了注释,因此读者可以直接复制一下内容进去,只需要改一下url、username、password

1spring:

2 #profiles: dev

3 messages:

4 basename: i18n/Messages,i18n/Pages

5 datasource:

6 type: com.alibaba.druid.pool.DruidDataSource # 配置当前要使用的数据源的操作类型

7 driver-class-name: org.gjt.mm.mysql.Driver # 配置MySQL的驱动程序类

8 url: jdbc:mysql://localhost:3306/wkt_stat # 数据库连接地址

9 username: root # 数据库用户名

10 password: root # 数据库连接密码

11 dbcp2: # 进行数据库连接池的配置

12 min-idle: 5 # 数据库连接池的最小维持连接数

13 initial-size: 5 # 初始化提供的连接数

14 max-total: 5 # 最大的连接数

15 max-wait-millis: 200 # 等待连接获取的最大超时时间

复制代码

4. 设置mybatis

继续在application.yml中设置mybatis,mybatis的配置也简单,

主要是为了设置mybatis的配置文件已经mapper文件所在。

首先在resource目录下创建一个mybatis-config.xml文件,文件内容为:

1

2

3 PUBLIC "-//mybatis.org//DTD Config 3.0//EN"

4 "http://mybatis.org/dtd/mybatis-3-config.dtd">

5

6

7

8

复制代码

在main包中的根目录下创建一个存放mapper实体的资源文件,在resource文件下创建一个文件夹mapper用来存放mapper的xml文件。

13467292-f29b5647d52c3862

配置好资源文件路径之后,就可以在application.yml中加入mybatis的配置了,如下是一个mybatis的配置内容:

1#mybatis的mapper配置文件

2mybatis:

3 config-location: classpath:mybatis-config.xml # mybatis配置文件所在路径

4 #mapper-locations: classpath:mapper/*.xml # 所有的mapper映射文件

5 type-aliases-package: com.becl.dao.mapper # 定义所有操作类的别名所在包

6debug: true

复制代码

最终application.yml的内容如下图:

13467292-c166903e455e8f3d

此时需要有一个数据库表来做测试,我们在数据库创建一个表,并且插入一条数据:

1CREATE TABLE Memeber (

2`id` int(11) NOT NULL AUTO_INCREMENT ,

3`name` varchar(255) NULL ,

4PRIMARY KEY (`id`)

5);

6

7INSERT INTO memeber VALUES(1,"jas")

复制代码

在mapper包中创建Memeber的mapper接口:

1public interface MemeberMapper {

2 /**

3 * 根据ID获取记录

4 * @param id

5 * @return

6 */

7 public Map findObjectById(Integer id);

8}

复制代码

在resource中的mapper文件夹创建memberMapper.xml,并且在mapper中增加一个findObjectById的SQL查询语句。

1

2

3 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"

4 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

5

6

7#根据ID查询记录

8

9 select * from memeber where id = #{value}

10

11

复制代码

5. hello world

走到这一步,基本上已经是大功告成了,我们来写一个测试类试试,在根目录创建一个controller的包,在包中创建一个Java类,如下:

1@Controller

2@RequestMapping("/test")

3public class TestController {

4 @Resource

5 private MemeberMapper memeberMapper=null;

6

7 @RequestMapping("/one")

8 @ResponseBody

9 public Map testdb(){

10 return memeberMapper.findObjectById(1);

11 }

12}

复制代码

创建完之后,我们运行项目,找到启动类MybatisAndDruidApplication右键run,发现报错,提示没有扫描到mapper包,为什么呢?那是mapper需要手动在启动类中加入:

1@MapperScan("com.example.mybatisanddruid.mapper")

复制代码

这样启动类就变成:

1@SpringBootApplication

2@MapperScan("com.example.mybatisanddruid.mapper")

3public class MybatisAndDruidApplication {

4

5 public static void main(String[] args) {

6 SpringApplication.run(MybatisAndDruidApplication.class, args);

7 }

8}

复制代码

再次运行,没有报错,在浏览器输入:http://localhost:8888/test/one

输出了ID为1的记录:

1{"name":"jas","id":1}

复制代码

由此可见,springboot-mybatis已经搭建成功,此时有人会问,那Druid呢?

设置Druid监控配置

druid的使用需要做一些配置,现在我们来在根目录下创建一个包config,在config包中间创建一个叫做DruidConfig.java,并且在里写入下面的内容:

1@Configuration

2public class DruidConfig {

3 @Bean

4 public ServletRegistrationBean druidServlet() { // 主要实现WEB监控的配置处理

5 ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*"); // 进行druid监控的配置处理操作

6 servletRegistrationBean.addInitParameter("allow",

7 "127.0.0.1,192.168.1.159"); // 白名单

8 servletRegistrationBean.addInitParameter("deny", "192.168.1.200"); // 黑名单

9 servletRegistrationBean.addInitParameter("loginUsername", "stat"); // 用户名

10 servletRegistrationBean.addInitParameter("loginPassword", "Wkt_sTat_1031"); // 密码

11 servletRegistrationBean.addInitParameter("resetEnable", "false"); // 是否可以重置数据源

12 return servletRegistrationBean ;

13 }

14 @Bean

15 public FilterRegistrationBean filterRegistrationBean() {

16 FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean() ;

17 filterRegistrationBean.setFilter(new WebStatFilter());

18

19 filterRegistrationBean.addUrlPatterns("/*"); // 所有请求进行监控处理

20 filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");

21 return filterRegistrationBean ;

22 }

23 @Bean

24 @ConfigurationProperties(prefix = "spring.datasource")

25 public DataSource druidDataSource() {

26 return new DruidDataSource();

27 }

28

29}

复制代码

配置中的内容就不一一细讲, 有兴趣的直接百度一下druid就出来很多答案了,现在重新运行一下项目,运行成功之后,在浏览器中输入:http://localhost:8888/druid

这时候,druid监控平台就出现了

13467292-0c66efd6da2041b2

此时我们输入在DruidConfig中设置的loginUsername和loginPassword点击登录,一个完整的druid监控管理平台就呈现在我们啦~

13467292-48b66b02c9845cf6

Druid非常强大,在这里你可以查看SQL的执行情况、慢SQL、API请求情况等,根据这些可以做一些性能的调优,至于详细的用法,就靠大家自行学习啦~

本文用到的技术栈

springboot

13467292-9175e2f4b0d8c915

mybatis

13467292-6922bcb7ac32e614

现在加群即可获取更加详细的Java架构脑图,还有Java工程化、高性能及分布式、高性能、高架构、zookeeper、性能调优、Spring、MyBatis、Netty源码分析和大数据等多个知识点高级进阶干货的直播免费学习权限及相关视频资料,群号:835638062 点击链接加入群聊【Java高级架构学习交流】:https://jq.qq.com/?_wv=1027&k=5S3kL3v

SpringBoot+Mybatis+Oracle+Druid整合 1、在Pom文件中添加依赖 <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> &lt... 阅读详情

相关推荐

springboot druid 多数据源demo

springboot开发,使用阿里druid-spring-boot-starter包,配置的多数据源demo,可自由加入多个数据源

IDEA创建Springboot项目,并整合druid、mybatis等等

项目创建 IntelliJ IDEA 首先创建一个项目,创建时选择Spring Initializr,然后Next,如下图: 填写项目信息,如下图: 填写项目使用到技术,上面的Spring Boot版本建议选择最新的稳定版,下面勾选上Web就可以了,如下图: 最后一步,填写工程名字点击Finish: 第一次创建时系统会去下载需要的依赖等,耗时稍长 启动项目 Spring Boot...

一念的博客 5946

SpringBoot集成MySQL和Mybatis

SpringBoot集成MySQL和Mybatis,包括sql语句和简单的案例

Idea Springboot+druid+mybits+MySql

【Idea】Springboot+druid+mybits+MySql简单Springboot工程创建 1.进入idea–>File–>New–>project–>spring Initializer–>default–>选择Mysql及mybatis–>输入项目名称 2.创建新文件application.yml作为新配置文件 3.项目结构: 4.文件配置: 1)配置端口号及项目默认访问路径 2)配置Mysql连接 3)配置DruId连接池(在Spring标签

lin182490的博客 463

springboot+springmvc+mybatis+druid整合

基于springboot(2.0版本),整合了mybatis及druid,配置好了监控中心。可以直接下载用

SpringBoot+MyBatis+Druid

该项目使用Springboot框架结合MyBatis持久层、Druid连接池

Inteliji idea 搭建 SpringBoot + Mybatis + druid 环境搭建

Inteliji idea 搭建 SpringBoot + Mybatis + druid 环境搭建 最近朋友想做一个wx商城的项目,本着学习技术的思想,就想顺便学一下SpringBoot,顺便总结一下,希望能帮助到刚入坑的小白们。 本项目使用的环境: 开发工具:Intellij IDEA 2018.1.5 jdk:1.8.0_51 maven:3.5.2 快捷键 加粗 ...

weixin_41758046的博客 1254

mybatis-druid-springboot

通过注解配置即可自动注入扫描相关的xml和bean的路径,集成了mybatis的分页查询、事物处理、使用了druid数据源

IDEA搭建spring-boot druid mybatis(菜鸟从零开始)(一)

整体分为4篇 ( 一 ) 搭建一个简单的spring-boot 项目 ( 二 ) druid 数据源(本人使用的是sql server) ( 三 ) 整合mybatis ( 四 ) mybatis + mybatis-generator 自动生成实体类 接口和mapper.mxl 文件 ( 一 ).搭建一个简单的spring-boot 项目 1.创建project 2.注意选择本...

小驴 3223

让AI稳定生成流程图:基于Skill与Mermaid的工程化实践

流程图是软件工程中沟通业务逻辑的通用语言,但其绘制与维护却长期依赖手工工具,导致文档更新滞后、协作成本高。随着大语言模型技术的成熟,自然语言生成代码已成为可落地的技术路径,而Mermaid作为一款文本化图表语法,凭借其可版本管理、可自动渲染和可嵌入文档的优势,正逐步取代传统绘图工具。要让AI稳定输出合格的流程图,关键在于为模型定义一套清晰的Skill规则,约束输入结构、处理逻辑和输出格式。本文从流程图的工程痛点出发,介绍如何利用大模型将自然语言描述转化为结构化文本,再通过Mermaid CLI渲染成可视化图

weixin_42548782的博客 311

别再被无限debugger卡住了!Chrome DevTools实战绕过技巧(含Hook与文件替换)

本文详细介绍了如何通过Chrome DevTools绕过无限debugger封锁的实战技巧,包括Hook技术与文件替换方法。针对常见的定时器轰炸、循环陷阱和动态注入等反调试手段,提供了高效的解决方案,帮助开发者快速突破调试障碍,提升爬虫和逆向工程效率。

weixin_30326515的博客 241

SpringBoot之整合mybatis和Druid

1.导入jar 需要的jar包如下: <!--JDBC--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jdbc</artifactId> </dependen...

qq_41343166的博客 532

量化交易python代码解析:从狙击手算法到最优限价算法

在金融市场的竞技场上,量化交易如同一位冷静的策略大师,它以数学模型为剑,以计算机程序为盾,精准出击,捕捉市场的微妙波动。本文将深入探讨五种核心量化交易算法:直接委托算法(DMA)、时间加权平均算法(TWAP)、冰山算法(Iceberg)、狙击手算法(Sniper)、条件委托算法(Stop)以及最优限价算法(BestLimit),揭开它们背后的运作机制与实战应用。

木头大左的博客 1887

【SpringBoot】SpringBoot整合Mybatis、druid

SpringBoot是一项十分重要的技术,希望我们大家可以把它学好,这一章讲解的是SpringBoot如何整合Mybatis、druid。由于Mybatis-plus也是一项重要的技术,下一次会讲Mybatis及与SpringBoot的整合,喜欢的小伙伴可以订阅专栏。

未来可以改变 1982

[SV]SystemVerilog学习笔记之struct & union

SystemVerilog学习笔记(四) 一、结构体(struct) 1.1、结构体(struct) 结构体声明:结构体默认是变量,也可以声明为线网 var struct{ //通过var进行结构体变量声明 logic [31:0] a, b; logic [ 7:0] opcode; } Instruction_Word_var; wire struct{ //结构体线网声明,定义为线网类型时,结构体的所有成员必须...

元直的博客 1万+

16、天文时间序列分类:基于人工神经网络的研究

本研究探讨了基于人工神经网络的天文时间序列分类方法,重点比较了MLP、LSTM和CNN等模型在BRITE和开普勒K2数据集上的表现。研究发现LSTM不适用于此类数据,而结合特征提取与PSO超参数优化的多层感知器(MLP)在开普勒K2数据上实现了98.55%的二分类准确率。通过精细的数据预处理和高置信度样本选择,显著提升了分类性能。研究成果为恒星变异性识别提供了高效工具,并对天文学与机器学习交叉领域具有重要参考价值。

pz8901234的博客 113

SpringBoot:Mybatis + Druid 数据访问

SpringBoot:Mybatis + Druid 数据访问 文章目录SpringBoot:Mybatis + Druid 数据访问1、简介2、JDBC3、CRUD操作4、自定义数据源 DruidDataSource1、配置 Druid 数据源监控2、配置 Druid web 监控 filter5、SpringBoot 整合mybatis 1、简介 ​ 对于数据访问层,无论是SQL(关系型数据库) 还是NOSQL(非关系型数据库),SpringBoot 底层都是采用 SpringData 的方式进行统一处

... 2711

【雕爷学编程】Arduino智慧农业之温湿度数据上传到云平台

它们可能有错误、不适用或者无法编译。在实施过程中,需要注意传感器的选择和校准、通信和网络稳定性、数据隐私和安全保护、电源管理以及数据分析和决策支持等方面的事项。数据分析和决策支持:上传到云平台的温湿度数据可以提供丰富的信息,但需要合适的数据分析和决策支持工具来帮助农业业主理解和利用这些数据。您可以根据自己的需求和喜好选择适合您的云平台和库,并根据您的具体硬件配置进行适当的修改和调整。将温湿度数据上传到云平台,农业业主可以实时监测粮库内的温湿度情况,及时采取通风、除湿等措施,确保粮食质量和长期储存的稳定性。

雕爷学编程 1275

SpringBoot整合Druid和Mybatis

这里使用IntelliJIDEA2022.1.2演示个人认为IDEA用新不用旧,老有人说新版本bug多,其实呢,正在用的时候我是感知不到,相反他会在新版本修复老版本的bug,我觉得新版更好用更智能。如果你也深有其感,去拥抱新版本吧!.........

我这孩子从小记性就不好,什么东西都要写下来才放心 7117

黑猫带你学Nand第8篇:NandFlash的供电情况详解

是指在任何工作条件下,设备允许的最大电压、电流、功率以及温度等参数的界限值。

黑猫奥利奥的博客 1148

2026星宸科技数字IC设计笔试带答案

摘要:本文包含四个计算机科学领域的编程与逻辑设计题目解析。第一部分通过C语言程序补充水仙花数判断代码,考查循环结构和函数设计;第二部分分析Verilog代码的D触发器电路,讨论时序约束与时钟频率影响;第三部分详细讲解静态时序分析中的建立/保持时间计算与违例判断;第四部分计算机体系结构题目涉及CPI、MIPS计算和性能加速比分析。最后还包含一个逻辑代数化简的示例,展示基本的布尔代数简化技巧。这些题目全面覆盖了编程基础、数字电路设计、时序分析和计算机性能评估等核心知识点。(149字)

Open 121

创建SpringBoot + Druid + Mybatis项目

本章将讲述如何创建springboot项目,并配置好mysql数据库、druid连接池,以及mybatis的一些配置文件。

先谢郭嘉的博客 1106

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: 基于Redis的限流系统的设计
下一篇: 成为Java顶尖程序员,先过了下面问题!
普通网友
博客等级 码龄8年 55粉丝 197原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值