当前位置: 首页 > news >正文

Spring Boot实现简单的Oracle数据库操作

使用到的技术:

1. Spring Boot:用于简化Spring应用的开发。

2. Dynamic DataSource:实现动态多数据源的访问和切换

3. Oracle JDBC Driver:与Oracle数据库进行连接和交互。

4. Mybatis-Plus:简化SQL映射和数据库访问。其中BaseMapper接口提供了对数据表进行基本操作的功能。

5. Lombok:用于简化Java类的开发,自动生成常用的代码,比如getter、setter、构造函数等。

6. Spring MVC:用于处理http请求和相应,提供了控制层的功能。

实现步骤如下:

  • 创建Spring Boot项目:使用 Spring Initializr 创建一个 Spring Boot 项目。
  • 添加依赖:pom.xml配置文件中添加Maven依赖
        <!-- mybatis-plus Mybatis是开源的java数据库框架--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>${mybatis-plus.version}</version></dependency><!--动态多数据库连接,用于管理多个数据源--><dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.5.1</version></dependency><!-- Oracle JDBC Driver --><dependency><groupId>com.oracle.database.jdbc</groupId><artifactId>ojdbc8</artifactId><version>19.8.0.0</version></dependency>
  • 配置数据库连接:在application.properties中配置Oracle数据库连接信息
#oracle
spring.datasource.dynamic.primary=anita  #给这个数据源命名
spring.datasource.dynamic.datasource.anita.url=your database url
spring.datasource.dynamic.datasource.anita.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.dynamic.datasource.anita.username=username
spring.datasource.dynamic.datasource.anita.password=password
  • 定义数据模型:创建一个与要操作的数据表对应的java实体类
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.io.Serializable;@Data  //使用Lombok自动生成getter setter方法,以及toString、equals和hashCode方法
@TableName(value = "base_person") //指定该类为对应数据库的base_person表
@NoArgsConstructor //生成无参构造函数
@AllArgsConstructor //生成全参构造函数
public class BasePerson implements Serializable { //Serializable 使BasePerson类支持序列化private String id;private String name;
}
  •   创建Mapper:创建一个mapper接口
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.model.BasePerson;
import org.apache.ibatis.annotations.Mapper;@Mapper// 标识这是一个MyBatis Mapper 接口,用于执行数据库操作
@DS("anita") //使用指定名为anita的数据源
public interface BasePersonMapper extends BaseMapper<BasePerson> { //继承了 MyBatis Plus 提供的基本 CRUD 操作方法。
}
  • 编写服务层:在服务层中注入Mapper,并编写业务逻辑(比如根据用户id查询用户名)
import com.example.repository.BasePersonMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;@Service
public class DbService {@Autowiredprivate BasePersonMapper personMapper;public String getNameById(String id) {return personMapper.selectById(id).getName();}
}
  • 创建控制器:编写API进行数据访问
import com.example.service.DbService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;@RestController
@RequestMapping("/api/test")
public class TestController {@Autowiredprivate DbService dbService;@GetMapping(value = "/getPersonName")public  String GetPersonName(String id){return dbService.getNameById(id);}
}

http://www.lryc.cn/news/430033.html

相关文章:

  • 微软发布 Phi-3.5 系列模型,涵盖端侧、多模态、MOE;字节 Seed-ASR:自动识别多语言丨 RTE 开发者日报
  • 笔记:Echarts柱状图 实现滚轮条 数据太多
  • 嵌入式学习day17(数据结构)
  • 网站怎么做敏感词过滤,敏感词过滤的思路和实践
  • 【峟思】如何使用投入式水位计才能确保测量准确性
  • 供应链管理系统(SCM) —— 企业物流的智能枢纽
  • 计算机视觉(CV)技术的优势和挑战。
  • 数据库MySQL多表设计、查询
  • 基于vue框架的北城招聘管理平台题目7lly3(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 详讲C#中如何存储当前项目的设置-超级简单省事
  • 【QT文件操作】---xml文件读取
  • 科研软件 | Diamond 4.6 安装教程
  • 利用keepalived达成服务高可用
  • Dumpy:一款针对LSASS数据的动态内存取证工具
  • TinyEngine是什么?
  • FPGA跨时钟域处理
  • 【Docker深入浅出】Docker镜像
  • “LOCAL_LISTENER”参数导致业务无法连接数据库,文末附Oracle连接故障检查监听的排查流程
  • Vmware虚拟机接入物理机路由器网络
  • yolov8旋转框+关键点检测
  • Qt-QWidget的windowTitle属性(13)
  • RCE编码绕过--php://filter妙用
  • FactoryBean 与 BeanFactory
  • 【迅为RK3568开发板】OpenHarmony学习开发系列教程(第2期 南向基础篇一)
  • 编程修炼之Hibernate--- springboot启动初始化ddl过程与如何自定义修改 table 字段长度
  • TOMCAT入门到精通
  • Android笔试面试题AI答之Kotlin(18)
  • Linux基础知识学习(五)
  • 股票买卖的思路与代码
  • Eureka Server与Eureka Client详解:服务注册与发现的交互机制