在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的异常处理机制或者自定义异常处理器来增强应用的稳定性和可靠性。

目录
相关文章
|
1天前
|
XML Java Maven
深入Gradle:初识构建自动化的魅力
深入Gradle:初识构建自动化的魅力
10 0
|
1天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入外部库如 ldapjdk.jar,通常涉及将 jar 存放在 `src/lib` 并在 `pom.xml` 添加系统依赖。
|
1天前
|
SpringCloudAlibaba Java Maven
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
关于拆分boot工程的踩坑之maven多模块间的依赖关系处理
|
1天前
Gradle安装与配置(8.2)
Gradle安装与配置(8.2)
15 1
|
1天前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
4 0
|
2天前
|
Java Maven
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
修改配置maven镜像仓库位置,将maven镜像更换成阿里镜像
17 0
|
2天前
|
存储 Java Maven
win自定义配置本地maven仓库位置,修改maven仓库位置
win自定义配置本地maven仓库位置,修改maven仓库位置
8 0
win自定义配置本地maven仓库位置,修改maven仓库位置
|
2天前
|
Java Linux Maven
Centos7.6安装Maven3.8.3并配置阿里云镜像
Centos7.6安装Maven3.8.3并配置阿里云镜像
26 0
|
6天前
|
C# Android开发 开发者
Android gradle编译时字节码处理
Android gradle编译时字节码处理
13 1
|
6天前
|
Android开发
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
Android Gradle开发—脚本实现自动打包后复制一份APK文件,并修改APK名称,到指定目录作备份
18 0