【Oracle】springboot连接Oracle 集成mybatis、druid

目录

  • 项目结构与库表数据
  • pom.xml
  • application.yml
  • 实体类
  • Mapper
  • controller
  • 接口测试

基于spring-boot 2.7.11,连接Oracle 11g
仅做一个简单的示例

特别说明(不一定正确,还请指正):我Oracle也不熟,但据我观察发现,springboot项目配置Oracle驱动之后,就不需要Oracle的客户端instantclient,以及后面将该项目打成jar包部署的同时,linux环境中也不需要进行instantclient相关的配置。

项目结构与库表数据

在这里插入图片描述

-- 创建表: student_info 属主: scott (默认当前用户)
create table scott.student_info (sno         number(10) constraint pk_si_sno primary key,sname       varchar2(10),sex         varchar2(2),create_date date
);
-- 添加注释
comment on table scott.student_info is '学生信息表';
comment on column scott.student_info.sno is '学号';
comment on column scott.student_info.sname is '姓名';
comment on column scott.student_info.sex is '性别';
comment on column scott.student_info.create_date is '创建日期';-- 插入
insert into scott.student_info (sno, sname, sex, create_date)
values (1, '张三', '男', sysdate);
insert into scott.student_info (sno, sname, sex, create_date)
values (2, '李四', '女', sysdate);
insert into scott.student_info (sno, sname, sex, create_date)
values (3, '王五', '男', sysdate);
commit;
select * from scott.student_info;

在这里插入图片描述

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.11</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com</groupId><artifactId>oraclDemo</artifactId><version>0.0.1-SNAPSHOT</version><name>oracl-demo</name><description>oracl-demo</description><properties><java.version>1.8</java.version></properties><dependencies><!-- mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>1.3.2</version></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>1.1.1</version></dependency><!--oracle 连接--><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc6</artifactId><version>11.2.0.4</version></dependency><!-- 阿里数据库连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.14</version></dependency><!--fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>2.0.25</version></dependency><!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.15</version></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.6</version><scope>provided</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><excludes><exclude><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></exclude></excludes></configuration></plugin></plugins></build></project>

application.yml

server:port: 8081spring:datasource:driver-class-name: oracle.jdbc.OracleDriverusername: scottpassword: xxxxxxurl: jdbc:oracle:thin:@127.0.0.1:1521:orcltype: com.alibaba.druid.pool.DruidDataSourcedruid:#初始化大小initialSize: 5#最小值minIdle: 5#最大值maxActive: 20#最大等待时间,配置获取连接等待超时,时间单位都是毫秒msmaxWait: 60000#配置间隔多久才进行一次检测,检测需要关闭的空闲连接timeBetweenEvictionRunsMillis: 60000#配置一个连接在池中最小生存的时间minEvictableIdleTimeMillis: 300000validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsepoolPreparedStatements: true# 配置监控统计拦截的filters,去掉后监控界面sql无法统计,#'wall'用于防火墙,SpringBoot中没有log4j,我改成了log4j2filters: stat,wall,log4j2#最大PSCache连接maxPoolPreparedStatementPerConnectionSize: 20useGlobalDataSourceStat: true# 通过connectProperties属性来打开mergeSql功能;慢SQL记录connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500# 配置StatFilterweb-stat-filter:#默认为false,设置为true启动enabled: trueurl-pattern: "/*"exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"#配置StatViewServletstat-view-servlet:url-pattern: "/druid/*"#允许那些ipallow: 127.0.0.1login-username: adminlogin-password: admin#是否可以重置reset-enable: true#启用enabled: true

实体类

@NoArgsConstructor
@AllArgsConstructor
@ToString
@Data
public class Student {private int sno;private String sname;private String sex;private Date create_date;
}

Mapper

@Mapper
public interface StudentMapper {@Select("Select * from scott.student_info")List<Student> selectStudentList();@Select("Select * from scott.student_info where sname='张三' ")Student selectStudent();
}

controller

@Slf4j
@RestController
public class StudentController {@Resourcepublic StudentMapper studentMapper;@GetMapping("/getstuList")public List getstuList(){log.info("执行了 getstuList");return studentMapper.selectStudentList();}@GetMapping("/getstu")public Student getstu(){log.info("执行了 selectStudent");return studentMapper.selectStudent();}}

接口测试

成功从后台拿到数据。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Grafana任意文件读取漏洞(CVE-2021-43798)

Grafana任意文件读取漏洞&#xff08;CVE-2021-43798&#xff09; 一、漏洞描述 Grafana是一个跨平台、开源的数据可视化网络应用程序平台。用户配置连接的数据源之后&#xff0c;Grafana可以在网络浏览器里显示数据图表和警告。 二、漏洞影响范围 影响版本&#xff1a; Gr…

【资料分享】全志科技T507-H评估板规格书(4核ARM Cortex-A53,主频1.416GHz)

1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板&#xff0c;主频高达1.416GHz&#xff0c;由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案&#xff0c;国产化率100%。同时&a…

ElasticSearch 8.0+ 版本Windows系统启动

下载地址&#xff1a;https://www.elastic.co/cn/downloads/past-releases/winlogbeat-8-8-1 解压\elasticsearch\elasticsearch-8.5.1 进入bin目录&#xff0c;启动elasticsearch.bat 问题1&#xff1a; warning: ignoring JAVA_HOMED:\jdk1.8.0_271; using bundled JDK J…

FlutterUnit 已上架 iOS,暗色模式全面支持

theme: cyanosis 一、FlutterUnit 的全平台支持 FlutterUnit 是我的一个开源项目&#xff0c;基于 Flutter 构建的一个 全平台 应用程序。现在很荣幸地宣布: FlutterUnit 已经上架 iOS 的 App Store &#xff0c;自此主流的几大平台均已提供体验。 项目地址: https://github.co…

普通人如何居家办公实现网上赚钱?分享五种互联网赚钱的副业项目

科思创业汇 大家好&#xff0c;这里是科思创业汇&#xff0c;一个轻资产创业孵化平台。赚钱的方式有很多种&#xff0c;我希望在科思创业汇能够给你带来最快乐的那一种&#xff01; 网上赚钱&#xff0c;主要是利用各种信息差异从网上获取收入。 近年来&#xff0c;随着互联网…

分布式存储Ceph的部署及应用(创建MDS、RBD、RGW 接口)

系列文章目录 文章目录 系列文章目录一、1.存储基础2. 单机存储的问题3. 分布式存储&#xff08;软件定义的存储 SDS&#xff09; 二 Ceph1.Ceph 简介2. Ceph 数据的存储过程 总结 一、 1.存储基础 1.1 单机存储设备 ●DAS&#xff08;直接附加存储&#xff0c;是直接接到计算…

【Linux】文件基础IO操作:C语言接口 | 系统调用接口 | 重定向

重修C语言文件知识Linux文件知识标记位传参文件的系统调用理解什么是文件文件fd的分配规则重定向C语言文件层面的缓冲区知识 重修C语言文件知识 打开文件操作fopen函数&#xff1a; 我们看一段代码&#xff0c;以写(w)的形式来打开文件&#xff1a; #include <stdio.h>…

在Mac上安装Aspectj1.9.8(用于Java17)+IDEA

1. 确定所使用的Java版本和AspectJ的对应关系 2. 下载AspectJ包 3. 安装AspectJ 4. 添加AspectJ对应的环境变量 5. AspectJ测试-简单终端测试 6. AspectJ测试-通过IDEA敲代码测试 ---------------------------------------详细教程-------------------------------------…

css基础(二)

目录 1. CSS 的复合选择器 1.1 什么是复合选择器 1.2 后代选择器(重要&#xff09; 1.3 子选择器(重要&#xff09; 1.4 并集选择器(重要&#xff09; 1.5 伪类选择器 1.6 链接伪类选择器 1.7 :focus伪类选择器 1.8 复合选择器总结 二、 CSS 的元素显示模式 2.1什么是元素显示模…

组合逻辑电路设计---多路选择器

目录 1、多路选择器简介 2、硬件设计 3、实验任务 4、程序设计 4.1、模块设计 4.2、绘制波形图 4.3、编写代码 &#xff08;1&#xff09;assign 中条件运算符&#xff08;三目运算符&#xff09;实现方法&#xff1a; &#xff08;2&#xff09;always 语句块中使用 …

微信小程序editor富文本编辑器 有关图片的属性

微信小程序editor富文本编辑器 有关图片的属性 属性类型默认值必填说明show-img-sizebooleanfalse否点击图片时显示图片大小控件show-img-toolbarbooleanfalse否点击图片时显示工具栏控件show-img-resizebooleanfalse否点击图片时显示修改尺寸控件 详细请看&#xff1a;edito…

CPU、内存、缓存的关系

术语解释 &#xff08;1&#xff09;CPU&#xff08;Central Processing Unit&#xff09; 中央处理器 &#xff08;2&#xff09;内存 内存用于暂时存放CPU中的运算数据&#xff0c;以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁&#xff0c;内存的运行决定…