SpringBoot集成mybatis连接oracle的图文教程

下面就为您详细讲解“SpringBoot集成mybatis连接oracle的图文教程”的完整攻略。

准备工作

  1. 在Oracle官网下载安装最新的Oracle数据库。
  2. 在Maven的配置文件settings.xml中添加Oracle的依赖坐标,如下所示:
<dependency>
    <groupId>com.oracle.jdbc</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.2</version>
</dependency>

配置数据源

在SpringBoot的配置文件中,添加连接Oracle数据库的配置信息,具体配置如下:

spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver 
spring.datasource.url=jdbc:oracle:thin:@${hostname}:${port}:${database} 
spring.datasource.username=${username} 
spring.datasource.password=${password} 

其中,需要填写自己Oracle数据库的IP地址、端口、数据库名称、用户名、密码。

配置Mybatis

  1. 在Maven的配置文件pom.xml中,添加Mybatis的依赖坐标,如下所示:
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId> 
    <version>2.0.0</version>
</dependency>
  1. 在SpringBoot的配置文件中,添加Mybatis的配置信息,具体配置如下:
mybatis.mapper-locations=classpath*:mapper/*.xml 
mybatis.type-aliases-package=com.example.demo.entity 

其中,mapper-locations需要指定Mapper文件的位置,type-aliases-package需要指定实体类的所在包路径。

编写代码

  1. 编写实体类

通过Oracle官方提供的JDBC驱动连接Oracle数据库时,需要使用java.sql.Date类型。因此,需要对数据库中日期类型的字段进行转换。在实体类中,如下所示:

public class User {
    private Long id;
    private String name;
    private Integer age;
    private Date birthday;

    // getter和setter方法省略
    // 将数据库中日期类型的字段进行转换
    public void setBirthday(Date birthday) {
        this.birthday = new java.sql.Date(birthday.getTime());
    }
}
  1. 编写Mapper接口

在Mapper接口中,通过@Mapper注解指定Mapper类的位置,并根据需要编写SQL语句。

@Mapper
public interface UserMapper {
    @Select("SELECT * FROM user WHERE id = #{id}")
    User getUserById(Long id);

    @Insert("INSERT INTO user(name, age, birthday) VALUES(#{name}, #{age}, #{birthday})")
    void addUser(User user);

    @Update("UPDATE user SET name = #{name}, age = #{age}, birthday = #{birthday} WHERE id = #{id}")
    void updateUser(User user);

    @Delete("DELETE FROM user WHERE id = #{id}")
    void deleteUser(Long id);
}
  1. 编写Service和Controller层

在Service层中,使用自动装配的方式注入UserMapper,并编写逻辑方法;在Controller层中,通过@RestController注解指定控制器类,并编写对Mapper方法的调用。

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public User getUserById(Long id) {
        return userMapper.getUserById(id);
    }

    @Override
    public void addUser(User user) {
        userMapper.addUser(user);
    }

    @Override
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }

    @Override
    public void deleteUser(Long id) {
        userMapper.deleteUser(id);
    }
}

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/user/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }

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

    @PutMapping("/user")
    public void updateUser(@RequestBody User user) {
        userService.updateUser(user);
    }

    @DeleteMapping("/user/{id}")
    public void deleteUser(@PathVariable Long id) {
        userService.deleteUser(id);
    }
}

测试代码

可以使用Postman等工具进行测试。

  1. 添加用户

发送POST请求到http://localhost:8080/user,请求体如下:

{
    "name": "张三",
    "age": 18,
    "birthday": "2003-01-01"
}
  1. 获取用户信息

发送GET请求到http://localhost:8080/user/1,可获取id为1的用户信息。

  1. 更新用户信息

发送PUT请求到http://localhost:8080/user,请求体如下:

{
    "id": 1,
    "name": "李四",
    "age": 20,
    "birthday": "2001-01-01"
}
  1. 删除用户

发送DELETE请求到http://localhost:8080/user/1,可删除id为1的用户信息。

至此,SpringBoot集成mybatis连接oracle的图文教程的完整攻略已经讲解完毕,希望对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot集成mybatis连接oracle的图文教程 - Python技术站

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

相关文章

  • 如何优雅的处理异常

    作者:京东零售  秦浩然 一、什么是异常 Java 语言按照错误严重性,从 throwale 根类衍生出 Error 和 Exception 两大派系。 Error(错误): 程序在执行过程中所遇到的硬件或操作系统的错误。错误对程序而言是致命的,将导致程序无法运行。常见的错误有内存溢出,jvm 虚拟机自身的非正常运行,calss 文件没有主方法。程序本生是不…

    Java 2023年4月25日
    00
  • Java实现SHA-256加密算法的完全解析

    Java实现SHA-256加密算法的完全解析 SHA-256加密算法是目前应用最广泛的加密算法之一,本篇文章介绍如何在Java中实现SHA-256加密算法。 什么是SHA-256加密算法 SHA-256是一种哈希算法,将任意长度的二进制值映射为一个较短的固定长度的二进制值(通常是256位)。SHA-256算法基于SHA-2家族的算法,其中”256″表示哈希值…

    Java 2023年5月19日
    00
  • SpringSecurity跨域请求伪造(CSRF)的防护实现

    为了防止SpringSecurity跨域请求伪造(CSRF)攻击,需要采取一些措施来进行防护实现。下面是实现CSRF防护的步骤: 1.同源检查 这是最常见的CSRF防护方法,包括验证请求的源(Origin),或者Referrer)与app地址是否相同,建议把这个配置在Spring Security中,只需在SpringSecurity的配置类中添加如下代码:…

    Java 2023年5月20日
    00
  • JSP加载JS文件不起作用的有效解决方法

    下面是关于“JSP加载JS文件不起作用的有效解决方法”的完整攻略: 问题背景 在JSP中使用JavaScript是非常常见的,但是有时候我们可能会遇到这样的问题:在JSP中引用的JS文件并没有起作用,也就是说JS代码没有被执行。这种情况下我们该怎么解决呢? 解决方法 具体的方法是在JSP文件中使用<script>标签引入JS文件时,要注意添加ty…

    Java 2023年6月15日
    00
  • java应用领域分析

    Java应用领域分析是指对Java应用程序的具体业务场景和需求进行细致的分析和了解,以便更好地开发出符合用户需求的Java应用,具体的攻略步骤如下: 1.需求调研 首先需要充分调研客户的需求,收集相关业务场景信息和运营数据,包括产品功能、用户痛点、市场趋势、用户体验、业务流程等,为后续的分析和设计提供数据支持。 2.业务分析 在收集完用户需求后,需要对需求进…

    Java 2023年5月20日
    00
  • java中List集合及其实现类的方法详解

    Java中List集合及其实现类的方法详解 什么是List集合? List集合是Java中最常用的集合之一,它可以存储有序、可重复的数据。 List实现类 Java中常见的List实现类有3种: ArrayList LinkedList Vector 其中,Vector常用于多线程并发访问的场景中,由于其性能较慢,因此本文不再赘述。下面详细讲解ArrayLi…

    Java 2023年5月18日
    00
  • Java中的Spring Security配置过滤器

    下面是关于Java中的Spring Security配置过滤器的完整攻略: 概述 Spring Security是一个基于Spring框架的安全性管理框架,通过Spring Security可以实现对系统资源的保护。在Spring Security中,Filter链是一个非常重要的组件。Spring Security通过Filter实现了对Web请求的控制。…

    Java 2023年6月3日
    00
  • Jmeter中的timeshift()函数获取当前时间进行加减

    Jmeter是一款功能强大的压力测试工具,在实际使用中,我们通常需要对请求进行定制化操作,例如,将请求时间加减一定的时间,以观察服务器在不同时间的响应情况。这时,我们可以使用Jmeter中的timeshift()函数来进行操作。 什么是timeshift()函数 timeshift()函数是Jmeter自带的日期操作函数,用于获得和操作当前时间。该函数可以根…

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