SpringBoot总结(六)--连接oracle数据库demo

github下载界面https://github.com/lsx888/springboot-lisx/tree/master/Jdbc_oracle(需要权限才能下载)

目录

1工程目录结构

2pom.xml

3User_lisx.java

4JdbcApplication

5application.properties

6在test中测试

7运行效果


1工程目录结构

 

2pom.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 http://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.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>Jdbc</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <!-- oracle -->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </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>
            </plugin>
        </plugins>
    </build>

</project>

3User_lisx.java

package com.example.demo.model;

import lombok.Data;
import org.springframework.jdbc.core.RowMapper;

import java.sql.ResultSet;
import java.sql.SQLException;

@Data
public class User_lisx implements RowMapper<User_lisx> {
    private String username;
    private String password;

    //  必须重写mapRow方法
    @Override
    public User_lisx mapRow(ResultSet resultSet, int i) throws SQLException {
        User_lisx user_lisx = new User_lisx();
        user_lisx.setUsername(resultSet.getString("csdm"));
        user_lisx.setPassword(resultSet.getString("cansz"));
        return user_lisx;
    }
}

4JdbcApplication

package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class JdbcApplication {

	public static void main(String[] args) {
		SpringApplication.run(JdbcApplication.class, args);
	}

}

5application.properties

spring.datasource.driver-class-name: oracle.jdbc.driver.OracleDriver
spring.datasource.url: jdbc:oracle:thin:@localhost:1521:orcl
spring.datasource.username: wt300
spring.datasource.password: wt300

6在test中测试

UserControllerTest.java

package com.example.demo.controller;

import com.example.demo.model.User_lisx;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;
@SpringBootTest
@RunWith(SpringRunner.class)
public class UserControllerTest {
    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    public void getUserByName() throws Exception {
        String sql = "select csdm,cansz from SP02 t";
        List<User_lisx> list = jdbcTemplate.query(sql, new User_lisx());
        for (User_lisx user : list) {
            System.out.println(user);
        }
    }
}

7运行效果

 

### 如何在Spring Boot中使用MyBatis-Plus连接和操作Oracle数据库 #### 1. 添加依赖项 为了使 Spring Boot 能够与 Oracle 数据库协同工作并利用 MyBatis-Plus 的特性,在 `pom.xml` 文件内需加入特定的依赖声明。除了引入基础的 Spring Boot 和 MyBatis-Plus 组件外,还需添加针对 Oracle JDBC 驱动的支持。 ```xml <dependencies> <!-- 引入 Spring Boot Starter 父工程 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>${latest-springboot-version}</version> <type>pom</type> <scope>import</scope> </dependency> <!-- MyBatis Plus Starter --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>${mybatis.plus.version}</version> </dependency> <!-- Oracle Driver --> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>${oracle.driver.version}</version> </dependency> </dependencies> ``` 上述代码片段展示了如何通过 Maven 来管理这些必要的依赖关系[^2]。 #### 2. 配置数据源属性 接下来是在应用程序配置文件 (`application.properties`) 中定义用于访问 Oracle 数据库的数据源参数: ```properties # DataSource Configurations for Oracle Database spring.datasource.url=jdbc:oracle:thin:@localhost:1521:orclpdb spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=oracle.jdbc.OracleDriver # MyBatis Plus Configuration mybatis-locations=classpath*:mapper/*.xml mybatis-plus.typeAliasesPackage=com.example.demo.entity ``` 这里指定了连接到本地运行的一个名为 "orclpdb" 的 Oracle 实例所需的 URL、用户名以及密码等信息;同时也设置了 MyBatis-Plus 映射器的位置及其对应的实体类包路径[^3]。 #### 3. 创建 Mapper 接口 创建一个继承自 BaseMapper<T> 的接口来表示持久化逻辑层中的 DAO (Data Access Object),这可以简化 CRUD 操作而无需编写额外 SQL 语句。 ```java package com.example.demo.mapper; import org.apache.ibatis.annotations.Mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.demo.entity.UserEntity; @Mapper public interface UserMapper extends BaseMapper<UserEntity> { } ``` 此段 Java 代码展示了一个简单的用户表映射接口实例,它允许开发者轻松地执行基本增删改查命令[^1]。 #### 4. 开发 Service 层和服务控制器 最后一步就是构建服务层(Service Layer)以封装业务规则,并开发 RESTful API 控制器(Controller)以便外部调用者能够交互式地操纵存储于 Oracle 数据库内的资源。 ```java @Service public class UserService { @Autowired private UserMapper userMapper; public List<UserEntity> getAllUsers() { return userMapper.selectList(null); } } @RestController @RequestMapping("/users") public class UserController { @Autowired private UserService userService; @GetMapping("") public ResponseEntity<List<UserEntity>> getUsers() { final var users = userService.getAllUsers(); return new ResponseEntity<>(users, HttpStatus.OK); } } ``` 这段示例说明了怎样设计一个获取所有用户的 HTTP GET 请求处理器方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋天的猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值