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

目录
相关文章
|
6天前
|
Java 测试技术 Maven
Maven 构建生命周期
**Maven生命周期概览:** - Clean:删除编译输出,如`clean`。 - Default:验证(`validate`)、编译(`compile`)、测试(`test`)、打包(`package`)、检查(`verify`)、安装(`install`)和部署(`deploy`)。 - Site:生成项目文档与站点。 每个生命周期由阶段组成,阶段包含插件目标。如`mvn clean dependency:copy-dependencies package`,先清洁,执行特定目标,再打包。
|
4天前
|
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快照版本。**
|
3天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven的构建生命周期包括Clean(clean)、Default(validate-compile-test-package-verify-install-deploy)和Site(site-deploy-site)三个阶段。Default生命周期用于验证、编译、测试、打包、检查、安装和部署项目。插件目标如dependency:copy-dependencies可插入到指定阶段,如在clean和package之间执行。生命周期阶段顺序执行,确保项目构建与发布的标准化。
|
7天前
|
Java Maven
Maven 引入外部依赖
在Maven项目中引入外部库如ldapjdk.jar,需创建`src/lib`并放jar,接着在`pom.xml`的`<dependencies>`添加系统依赖
|
6天前
|
自然语言处理 Java Maven
Maven 自动化构建
Maven自动化构建确保依赖稳定性。`bus-core-api(1.0-SNAPSHOT)`构建后,自动触发`app-web-ui`和`app-desktop-ui`的构建,两者均依赖bus-core-api的1.0快照版。 ``` 纯文本摘要: Maven自动化构建保证依赖项的稳定性:当`bus-core-api`的1.0-SNAPSHOT版本完成构建时,它会触发依赖它的`app-web-ui`和`app-desktop-ui`项目的构建,这两个项目都依赖`bus-core-api`的相同版本。
|
11天前
|
Java API Maven
Maven 自动化构建
**摘要 (Markdown 格式)**: Maven自动化构建确保依赖稳定性。当`bus-core-api` (1.0-SNAPSHOT) 构建后,依赖它的`app-web-ui`和`app-desktop-ui`(均依赖bus-core-api的1.0快照)会自动触发构建,保证与最新核心API兼容。
|
11天前
|
Java Maven
Maven 引入外部依赖
在 Maven 项目中引入 LDAP 帮助库 ldapjdk.jar,需将 jar 放入 `src/lib`,然后在 `pom.xml` 的 `<dependencies>` 部分添加系统依赖,
|
11天前
|
Java 测试技术 Maven
Maven 构建生命周期
Maven生命周期包括Clean(清除)、Default(构建)和Site(站点)三个阶段,用于项目构建与发布。Default生命周期含validate、compile、test、package、verify、install和deploy,确保代码编译、测试、打包和部署。Clean清除目标目录,Site生成项目文档。每个阶段由插件目标组成,如mvn clean package,先执行清理,再打包。
|
13天前
|
XML Java Maven
Maven 构建配置文件
Maven构建配置文件用于定制不同环境的构建,如生产与开发。配置在`pom.xml`的`profiles`中,可通过命令行、设置文件、环境变量等方式激活。配置文件分项目级、用户级和全局级。例如,`env.properties`为默认,`env.test.properties`和`env.prod.properties`代表测试和生产环境。激活配置文件可影响如数据库URL等参数。示例中用AntRun插件展示配置应用,但实际配置文件功能不限于此。
|
14天前
|
存储 Java Maven
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is
Maven依赖全爆红,一刷新就JAVA_HOME environment variable is not defined correctlyThis environment variable is