在Maven或者Gradle构建配置中添加了必要的依赖

简介: 在Maven或者Gradle构建配置中添加了必要的依赖

假设你已经设置好了Oracle数据库,并在Maven或者Gradle构建配置中添加了必要的依赖。

 

### 1. Maven依赖

 

在你的 `pom.xml` 文件中添加Spring Boot、MyBatis和Oracle JDBC驱动的依赖:

 

```xml
    org.springframework.boot
    spring-boot-starter
 
    org.springframework.boot
    spring-boot-starter-jdbc
 
    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.2.0
 
    com.oracle.database.jdbc
    ojdbc8
    19.8.0.0
```

### 2. 配置数据库属性

 

在 `application.properties` 文件中添加你的Oracle数据库连接属性:

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

将 `YOUR_SID`、`your_username` 和 `your_password` 替换为你的Oracle数据库的SID、用户名和密码。

 

### 3. 创建MyBatis Mapper接口

 

创建一个MyBatis Mapper接口,定义你的SQL查询。例如:

```java
package com.example.mybatisdemo.mapper;
 
import com.example.mybatisdemo.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
 
import java.util.List;
 
@Mapper
public interface UserMapper {
 
    @Select("SELECT * FROM users")
    List getAllUsers();
 
    @Select("SELECT * FROM users WHERE id = #{id}")
    User getUserById(Long id);
 
    // 添加其他的CRUD操作
}
```

### 4. 创建模型类

 

创建一个模型类来表示你的数据库实体(表)。例如:

```java
package com.example.mybatisdemo.model;
 
public class User {
 
    private Long id;
    private String username;
    private String email;
 
    // Getter和Setter方法
}
```

### 5. 配置MyBatis在Spring Boot中

 

创建一个配置类来配置Spring Boot中的MyBatis。通常,你可以在这个类上使用 `@MapperScan` 注解来扫描MyBatis Mapper接口。

 

```java
package com.example.mybatisdemo.config;
 
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;
 
@Configuration
@MapperScan("com.example.mybatisdemo.mapper")
public class MyBatisConfig {
    // 如果需要,可以在这里添加特定的MyBatis配置
}
```

### 6. Service和Controller

 

创建一个Service类来使用你的MyBatis Mapper接口,并创建一个REST Controller来处理HTTP请求:

```java
package com.example.mybatisdemo.service;
 
import com.example.mybatisdemo.mapper.UserMapper;
import com.example.mybatisdemo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
 
import java.util.List;
 
@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    public List getAllUsers() {
        return userMapper.getAllUsers();
    }
 
    public User getUserById(Long id) {
        return userMapper.getUserById(id);
    }
}
```
 
```java
package com.example.mybatisdemo.controller;
 
import com.example.mybatisdemo.model.User;
import com.example.mybatisdemo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
 
import java.util.List;
 
@RestController
@RequestMapping("/users")
public class UserController {
 
    @Autowired
    private UserService userService;
 
    @GetMapping("/")
    public List getAllUsers() {
        return userService.getAllUsers();
    }
 
    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return userService.getUserById(id);
    }
}
```

### 7. 运行你的应用程序

 

运行你的Spring Boot应用程序。确保你的Oracle数据库正在运行并且可访问。

 

### 总结

 

这个例子涵盖了使用Spring Boot与MyBatis集成的基本步骤,以及如何与Oracle数据库配合使用。它包括设置依赖项、配置数据库属性、创建MyBatis Mapper接口、定义模型类、配置MyBatis和创建Service和Controller组件。根据你的具体应用需求和数据库架构进行调整。

 

当你完成了上述步骤之后,你可能还希望做一些额外的补充或优化:

 

### 1. MyBatis XML映射文件

 

除了注解方式,你也可以使用XML文件来定义SQL映射。在需要更复杂SQL语句或映射配置时,XML映射文件通常更灵活。例如,创建一个XML文件 `UserMapper.xml`:

 

```xml
    
        
        
        
    
 
            SELECT * FROM users    
 
            SELECT * FROM users WHERE id = #{id}    
 
    
```

然后在 `UserMapper` 接口中使用 `@Mapper` 注解指定XML文件:

```java
@Mapper
public interface UserMapper {
 
    List getAllUsers();
 
    User getUserById(Long id);
 
    // 添加其他的CRUD操作
}
```

### 2. 分页和排序

 

在实际应用中,通常需要对查询结果进行分页和排序。可以通过MyBatis的插件或者使用`PageHelper`来实现分页:

 

```xml
    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.3.0
```
 
然后在你的Service层使用`PageHelper`进行分页:
 
```java
import com.github.pagehelper.PageHelper;
 
@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    public List getAllUsers(int pageNum, int pageSize) {
        PageHelper.startPage(pageNum, pageSize);
        return userMapper.getAllUsers();
    }
 
    // 其他方法类似,根据需要进行分页和排序
}
```

### 3. 事务管理

 

如果你的应用需要事务管理,可以在Service方法上添加 `@Transactional` 注解来确保操作的原子性和一致性:

 

```java
import org.springframework.transaction.annotation.Transactional;
 
@Service
public class UserService {
 
    @Autowired
    private UserMapper userMapper;
 
    @Transactional
    public void updateUser(User user) {
        userMapper.updateUser(user);
    }
 
    // 其他需要事务管理的方法
}
```

### 4. 错误处理与异常

 

在处理数据库操作时,要考虑如何处理可能的异常情况。可以通过Spring Boot的异常处理机制或者自定义异常处理器来增强应用的稳定性和可靠性。

目录
相关文章
|
4天前
|
Java Maven Spring
如何使用Maven构建SpringBoot项目
如何使用Maven构建SpringBoot项目
|
3天前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件用于定制不同环境的构建,如生产与开发。配置在`pom.xml`的`profiles`中,可通过命令行、设置文件、环境变量等方式激活。配置文件分项目级、用户级和全局级。例如,`env.properties`为默认,`env.test.properties`和`env.prod.properties`代表测试和生产环境。激活配置文件可影响如数据库URL等参数。示例中用AntRun插件展示配置应用,但实际配置文件功能不限于此。
|
3天前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性:** 当`bus-core-api`(1.0-SNAPSHOT)构建后,依赖它的`app-web-ui`和`app-desktop-ui`自动触发构建。`app-web-ui`与`app-desktop-ui`都引用`bus-core-api`的1.0快照版本,实现版本同步。
|
7天前
|
Java Maven
Maven 自动化构建
**Maven自动化构建确保依赖稳定性。当bus-core-api(1.0-SNAPSHOT)构建完成后,app-web-ui和app-desktop-ui这两个依赖它的项目自动触发构建,维持版本协调。**
|
5天前
|
XML Java Maven
Maven 构建配置文件
Maven配置文件定制构建流程,适应生产与开发环境。配置在`pom.xml`的`profiles`元素中,可按项目、用户或全局定义。激活方式包括命令行、Maven设置、环境变量和文件存在性。例如,`env.properties`(默认)、`env.test.properties`(测试)和`env.prod.properties`(生产)用于不同环境,但非Maven配置文件本身,而是示例中的测试资源。AntRun插件常用于生命周期集成,不直接涉及配置文件管理。
|
5天前
|
Java Maven
Maven 自动化构建
**摘要 (Markdown 格式)**: Maven自动化构建确保依赖稳定性:当`bus-core-api` (1.0-SNAPSHOT) 构建成功后,触发`app-web-ui`和`app-desktop-ui`构建。`app-web-ui`依赖`bus-core-api`的1.0版本,而`app-desktop-ui`同样依赖1.0-SNAPSHOT版。
|
5天前
|
Java Maven
maven下载安装与配置
maven下载安装与配置
13 0
|
6天前
|
存储 Java 关系型数据库
Maven下载以及配置 一条龙全教程
Maven下载以及配置 一条龙全教程
|
6天前
|
Java jenkins 持续交付
Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试
【7月更文挑战第1天】Jenkins是开源CI/CD工具,用于自动化Java项目构建、测试和部署。通过配置源码管理、构建触发器、执行Maven目标,实现代码提交即触发构建和测试。成功后,Jenkins执行部署任务,发布到服务器或云环境。使用Jenkins能提升效率,保证软件质量,加速上线,并需维护其稳定运行。
36 0
|
7天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean、Default和Site三个阶段,用于项目构建、清理和文档生成。Default生命周期中的validate、compile、test、package、verify、install和deploy步骤依次执行,完成从验证到部署的全过程。插件目标如`dependency:copy-dependencies`可独立于构建阶段调用,如`mvn clean dependency:copy-dependencies package`先清理、复制依赖,再打包。