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日

相关文章

  • MySQL定时备份数据库(全库备份)的实现

    MySQL定时备份数据库是保障数据安全的重要措施之一,实现全库备份可以更好地保障数据的完整性和恢复性。下面是带有代码示例的详细攻略: 1. 安装crontab Crontab是一个在 Linux/Unix 系统下的任务计划程序,可以按照一定的时间间隔或者一定的时间点来执行指定的命令或脚本。在使用MySQL定时备份数据库的时候,我们可以利用Crontab来实现…

    database 2023年5月22日
    00
  • sqlsever2019文件创建与变量示例

    下面是关于“SQL Server 2019文件创建与变量示例”的详细攻略: SQL Server 2019文件创建与变量示例 文件创建 在SQL Server中,我们可以通过以下语句来创建文件: USE [master] GO CREATE DATABASE [TestDB] CONTAINMENT = NONE ON PRIMARY ( NAME = N’…

    database 2023年5月21日
    00
  • 谈谈 Redis 的过期策略

    在日常开发中,我们使用 Redis 存储 key 时通常会设置一个过期时间,但是 Redis 是怎么删除过期的 key,而且 Redis 是单线程的,删除 key 会不会造成阻塞。要搞清楚这些,就要了解 Redis 的过期策略和内存淘汰机制。 Redis采用的是定期删除 + 懒惰删除策略。 定期删除策略 Redis 会将每个设置了过期时间的 key 放入到一…

    Redis 2023年4月11日
    00
  • SQL 计算两个日期之间相差的月份和年份

    计算两个日期之间相差的月份,可以使用DATEDIFF函数,但是它只返回两个日期之间相差的天数,因此需要使用其他函数来将天数转换为月份。以下是一种使用YEAR()、MONTH()和DATEDIFF()函数计算两个日期之间相差月份的方法: SELECT YEAR(date2) * 12 + MONTH(date2) – (YEAR(date1) * 12 + M…

    database 2023年3月27日
    00
  • Oracle基础:程序中调用sqlplus的方式

    【Oracle基础:程序中调用sqlplus的方式攻略】 在Oracle数据库开发中,有时候需要在程序中调用Sqlplus命令行工具,这个过程可以使用Java、Shell等语言实现。下面详细讲解如何在程序中调用Sqlplus命令行工具。 1、使用Java语言实现 Java程序中可以通过ProcessBuilder来调用操作系统命令行工具。下面是Java程序调…

    database 2023年5月21日
    00
  • 深入探索数据库MySQL性能优化与复杂查询相关操作

    深入探索MySQL性能优化与复杂查询相关操作 1. 数据库性能优化 1.1 确认数据库性能问题 要进行MySQL性能优化,在操作之前需要先确认数据库的性能问题。可以使用如下方式确定: 查看日志:MySQL会产生多种日志记录数据库的操作,例如慢查询日志、错误日志等。查看这些日志可以帮助你定位性能问题所在。 对MySQL进行基准测试:基准测试可以分析MySQL的…

    database 2023年5月19日
    00
  • Sql Server中实现行数据转为列显示

    要实现Sql Server中行数据转为列显示,需使用Pivot语句。下面是详细步骤: 1.创建数据表,并插入实例数据 首先创建一个数据表,我们以学生表为例,表格结构如下: CREATE TABLE student ( id INT NOT NULL PRIMARY KEY, name VARCHAR(50) NOT NULL, sex VARCHAR(10)…

    database 2023年5月21日
    00
  • Centos和Redhat的区别与联系

    CentOS和Red Hat的区别与联系 关于CentOS和Red Hat CentOS和Red Hat企业版(RHEL)都是企业级的Linux操作系统。Red Hat是由Red Hat公司开发和维护的商业操作系统,CentOS则是由社区开发和维护的免费、开源版本的RHEL。CentOS的开发目标是为了提供一个和RHEL一样稳定、可靠的操作系统,但完全免费,…

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