下面就为您详细讲解“SpringBoot集成mybatis连接oracle的图文教程”的完整攻略。
准备工作
- 在Oracle官网下载安装最新的Oracle数据库。
- 在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
- 在Maven的配置文件pom.xml中,添加Mybatis的依赖坐标,如下所示:
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
- 在SpringBoot的配置文件中,添加Mybatis的配置信息,具体配置如下:
mybatis.mapper-locations=classpath*:mapper/*.xml
mybatis.type-aliases-package=com.example.demo.entity
其中,mapper-locations需要指定Mapper文件的位置,type-aliases-package需要指定实体类的所在包路径。
编写代码
- 编写实体类
通过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());
}
}
- 编写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);
}
- 编写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等工具进行测试。
- 添加用户
发送POST请求到http://localhost:8080/user,请求体如下:
{
"name": "张三",
"age": 18,
"birthday": "2003-01-01"
}
- 获取用户信息
发送GET请求到http://localhost:8080/user/1,可获取id为1的用户信息。
- 更新用户信息
发送PUT请求到http://localhost:8080/user,请求体如下:
{
"id": 1,
"name": "李四",
"age": 20,
"birthday": "2001-01-01"
}
- 删除用户
发送DELETE请求到http://localhost:8080/user/1,可删除id为1的用户信息。
至此,SpringBoot集成mybatis连接oracle的图文教程的完整攻略已经讲解完毕,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot集成mybatis连接oracle的图文教程 - Python技术站