当前位置:Gxlcms > 数据库问题 > springBoot 整合 mybatis+Oracle

springBoot 整合 mybatis+Oracle

时间:2021-07-01 10:21:17 帮助过:35人阅读

  现在比较流行的操作数据库操作层框架Mybatis,下面我们就来看看Springboot如何整合mybatis, 之前一直在用xml形式写sql,这次依然用xml的方式感觉这种还是比较灵活方便。

  添加mybatis关键就是要引入mybatis-spring-boot-starter到pom文件中,如果你用MySQL,那就引入MySQL的pom文件,这里我用Oracle,淡然要引入Oracle的依赖了。添加完成mybatis和Oracle 在pom.xml 文件中的引入。

  1. <!-- 链接Oracle数据库 oracle ojdbc不免费,需要手动引入jar包 -->
  2. <dependency>
  3. <groupId>oracle</groupId>
  4. <artifactId>ojdbc6</artifactId>
  5. <version>11.2.0.3</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>org.springframework.boot</groupId>
  9. <artifactId>spring-boot-starter-jdbc</artifactId>
  10. </dependency>
  11. <!-- 集成mybatis -->
  12. <dependency>
  13. <groupId>org.mybatis.spring.boot</groupId>
  14. <artifactId>mybatis-spring-boot-starter</artifactId>
  15. <version>1.3.1</version>
  16. </dependency>
  17. <dependency>
  18. <groupId>com.alibaba</groupId>
  19. <artifactId>druid</artifactId>
  20. <version>1.1.0</version>
  21. </dependency>

  

注意:

如果你用的是Oracle数据库在pom.xml中有可能会报这个错Missing artifact oracle:ojdbc6:jar 因为Oracle的ojdbc.jar是收费的,所以maven的中央仓库没有这个资源,只能配置本地仓库才能加载到项目中去。

配置application.properties

  1. mybatis.config-locations=classpath:mybatis/mybatis-config.xml
  2. mybatis.mapper-locations=classpath:mapper/*.xml
  3. #oracle database jdbc
  4. spring.datasource.url=jdbc:oracle:thin:@//localhost:1521/orcl
  5. spring.datasource.username=root
  6. spring.datasource.password=123456
  7. spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
  8. spring.datasource.max-idle=10
  9. spring.datasource.max-wait=10000
  10. spring.datasource.min-idle=5
  11. spring.datasource.initial-size=5

  

指定了mybatis的配置地址,你可以在mybatis/mybatis-config.xml中添加一些其他配置

完成之后你就可以去mapper文件夹下自由潇洒的去写sql去了

我们来测试一下看看是否成功,去写个sql试试效果怎么样?就返回用户的一些基本信息吧。实现代码如下:

Controller层:

  1. @RestController
  2. public class UserController {
  3. @Autowired
  4. private UserService userService;
  5. @RequestMapping(value = "/user", method = RequestMethod.GET)
  6. public User findUserByName(@RequestParam(value = "userName", required = true) String userName) {
  7. return userService.findUserByName(userName);
  8. }
  9. }

  

Service层:只写方法具体实现在UserServiceImpl类中

  1. @Service
  2. public interface UserService {
  3. User findUserByName(String userName);
  4. }

  

Service层的实现类,实现UserService中的方法

  1. @Component
  2. public class UserServiceImpl implements UserService {
  3. @Autowired
  4. private UserDao userDao;
  5. @Override
  6. public User findUserByName(String userName) {
  7. User user = userDao.findUserByName(userName);
  8. return user;
  9. }
  10. }

  

Dao层 注意要添加@Mapper注解,否则会报错的

  1. @Mapper
  2. public interface UserDao {
  3. User findUserByName(@Param("userName") String userName);
  4. }

  

实体类

  1. public class User {
  2. private String code;
  3. private String username;
  4. private String name;
  5. //get/set方法省略
  6. }

  

userMapper.xml  要注意namespace能否正确跳转(路径是否正确)

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  3. <mapper namespace="com.power.manger.dao.UserDao">
  4. <select id="findUserByName" resultMap=" com.XXX.model.User " parameterType="java.lang.String">
  5. select code, user_name as username, name
  6. from tb_user_info
  7. where name=#{userName}
  8. </select>
  9. </mapper>

  这些都完成之后,那么接下来就是见证奇迹的时刻了,启动项目,浏览器输入地址显示如下

技术图片

数据库中查询结果如下

技术图片

成功整合了mybatis和Oracle!

  如有不当和错误之处,请指出,我们一起交流学习,共同进步!谢谢!

springBoot 整合 mybatis+Oracle

标签:over   override   iss   dao层   val   mysq   doc   word   信息   

人气教程排行