Spring Boot整合MyBatis连接Oracle数据库的步骤全纪录

下面是Spring Boot整合MyBatis连接Oracle数据库的步骤全纪录。

准备工作

  1. 安装JDK环境
  2. 安装Maven
  3. 安装Oracle数据库
  4. 在Oracle数据库中创建一个表,用于演示

创建Spring Boot工程

  1. 打开命令行工具,执行以下命令

mvn archetype:generate -DgroupId=com.example -DartifactId=myproject -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

  1. 在pom.xml文件中添加以下依赖

```xml



org.springframework.boot
spring-boot-starter-web

   <!--MyBatis依赖-->
   <dependency>
       <groupId>org.mybatis.spring.boot</groupId>
       <artifactId>mybatis-spring-boot-starter</artifactId>
       <version>2.1.3</version>
   </dependency>

   <!--Oracle依赖-->
   <dependency>
       <groupId>com.oracle</groupId>
       <artifactId>ojdbc6</artifactId>
       <version>11.2.0.4</version>
   </dependency>


```

  1. 在application.properties文件中添加以下配置

```
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCL
spring.datasource.username=your_username
spring.datasource.password=your_password

mybatis.mapper-locations=classpath:mapper/*.xml
```

  1. 在resources目录下创建mapper目录,

编写代码

  1. 编写实体类

```java
public class User {
private Long id;
private String username;
private String password;

   // 省略getter和setter

}
```

  1. 编写Mapper接口

java
public interface UserMapper {
List<User> findAll();
}

  1. 编写Mapper的 XML 文件

```xml


```

  1. 编写Service

```java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;

   @Override
   public List<User> findAll() {
       return userMapper.findAll();
   }

}
```

  1. 编写Controller

```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserService userService;

   @GetMapping("")
   public List<User> findAll() {
       return userService.findAll();
   }

}
```

  1. 运行程序,输入以下URL,就可以查询到数据库中的用户信息了。

http://localhost:8080/users

以上就是Spring Boot整合MyBatis连接Oracle数据库的步骤全纪录。

附两条示例说明:

示例1:插入数据

  1. 修改UserMapper接口,添加插入数据的方法

```java
public interface UserMapper {
List findAll();

   void insert(User user);

}
```

  1. 修改Mapper的 XML 文件,添加插入数据的 SQL

xml
<insert id="insert" parameterType="com.example.entity.User">
insert into user (id, username, password)
values (#{id}, #{username}, #{password})
</insert>

  1. 修改Controller,添加插入数据的接口

```java
@RestController
@RequestMapping("/users")
public class UserController {
// 省略findAll方法

   @PostMapping("")
   public void insert(@RequestBody User user) {
       userService.insert(user);
   }

}
```

  1. 运行程序,输入以下URL,就可以插入一条用户信息了。

http://localhost:8080/users

请求参数为:

json
{
"id": 1,
"username": "admin",
"password": "123456"
}

示例2:更新数据

  1. 修改UserMapper接口,添加更新数据的方法

```java
public interface UserMapper {
List findAll();

   void insert(User user);

   void update(User user);

}
```

  1. 修改Mapper的 XML 文件,添加更新数据的 SQL

xml
<update id="update" parameterType="com.example.entity.User">
update user
set username = #{username}, password = #{password}
where id = #{id}
</update>

  1. 修改Controller,添加更新数据的接口

```java
@RestController
@RequestMapping("/users")
public class UserController {
// 省略findAll方法和insert方法

   @PutMapping("/{id}")
   public void update(@PathVariable Long id, @RequestBody User user) {
       user.setId(id);
       userService.update(user);
   }

}
```

  1. 运行程序,输入以下URL,就可以更新一条用户信息了。

http://localhost:8080/users/1

请求参数为:

json
{
"username": "admin",
"password": "654321"
}

以上就是两条示例说明。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot整合MyBatis连接Oracle数据库的步骤全纪录 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • navicat 连接数据库隔段时间后自动断开连接的解决方案

    接下来我将为您详细讲解“navicat 连接数据库隔段时间后自动断开连接的解决方案”的完整攻略。 问题背景 在使用 Navicat 连接数据库时,可能会遇到连接隔段时间后自动断开的问题。这个问题的原因可能是数据库超时等原因导致的断开。针对这个问题,我们可以采取一些解决方案,来保障连接的稳定性。 解决方案 修改数据库超时时间 在 Navicat 连接数据库时,…

    database 2023年5月22日
    00
  • Oracle批量导入文本文件快速的方法(sqlldr实现)

    下面我来详细解释一下Oracle批量导入文本文件快速的方法(sqlldr实现)。 什么是sqlldr sqlldr是Oracle自带的一个工具,用于批量导入文本文件到Oracle数据库中。它支持各种不同类型的数据格式,如列定界符、行定界符、固定长度记录、变长记录等。 快速导入文本文件的步骤 步骤一:创建控制文件 控制文件可以理解为是将数据源映射为目标表的一个…

    database 2023年5月21日
    00
  • asp.net Accee数据库连接不稳定解决方案

    我来为您分享关于“asp.net Access数据库连接不稳定解决方案”的完整攻略。 问题描述 在asp.net开发中,有时会遇到Access数据库连接不稳定的情况,表现为应用程序启动时出现一些异常,或数据库连接断开等。这会导致用户无法正常操作应用程序,影响用户体验,甚至会导致数据丢失。 解决方案 为了解决这个问题,我们可以尝试以下的几种方法: 1. 使用连…

    database 2023年5月21日
    00
  • SpringBoot MongoDB 索引冲突分析及解决方法

    SpringBoot MongoDB 索引冲突分析及解决方法 背景 在使用 SpringBoot 集成 MongoDB 的过程中,我们常常会遇到索引报错的问题。这是因为在一个 MongoDB 集合中创建了多个索引,这会导致索引之间冲突,进而产生异常。 分析 为了解决索引冲突的问题,我们需要从以下几个方面进行分析: 1. 查看 MongoDB 集合中的索引 可…

    database 2023年5月22日
    00
  • 大型网站的实例分析 掌握构建大型网站的架构

    大型网站的实例分析:掌握构建大型网站的架构 在构建大型网站时,需要考虑到以下几个方面: 1. 高可用性 在大型网站中,高可用性是非常重要的,一旦出现故障,会导致系统崩溃,损失巨大。为了保证高可用性,我们可以采用以下措施: 1.1 负载均衡 负载均衡是通过向多个服务器分配负载来实现高可用性的技术。它可以根据服务器的负载情况自动将请求分配到不同的服务器上,从而避…

    database 2023年5月19日
    00
  • 基于Redis的Setnx实现分布式锁

    一、 redis分布式锁原理     并发 到Redis里变成了串行排队,单线程   二、基于Redis的Setnx实现分布式锁    1、pom     <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-bo…

    Redis 2023年4月13日
    00
  • Redis源码之SDS简单动态字符串

    Redis 是内存数据库,高效使用内存对 Redis 的实现来说非常重要。 看一下,Redis 中针对字符串结构针对内存使用效率做的设计优化。       一、SDS的结构  c语言没有string类型,本质是char[]数组;而且c语言数组创建时必须初始化大小,指定类型后就不能改变,并且字符数组的最后一个元素总是空字符 ‘\0’ 。 以下展示了一个值为 “…

    Redis 2023年4月13日
    00
  • PHP5中使用mysqli的prepare操作数据库的介绍

    当使用PHP操作数据库时,为了避免向数据库中执行错误的SQL语句,使用查询准备和指定查询参数,这就是mysqli的prepare操作。 下面是使用mysqli的prepare操作数据库的完整攻略: 1. 连接数据库 首先,我们需要连接数据库,可以使用mysqli_connect()函数实现。代码示例如下: $connection = mysqli_conne…

    database 2023年5月21日
    00
合作推广
合作推广
分享本页
返回顶部