springBoot 整合 mybatis+Oracle

  如今比較流行的操做數據庫操做層框架Mybatis,下面咱們就來看看Springboot如何整合mybatis, 以前一直在用xml形式寫sql,此次依然用xml的方式感受這種仍是比較靈活方便。java

  添加mybatis關鍵就是要引入mybatis-spring-boot-starter到pom文件中,若是你用MySQL,那就引入MySQL的pom文件,這裏我用Oracle,淡然要引入Oracle的依賴了。添加完成mybatis和Oracle 在pom.xml 文件中的引入。spring

<!-- 連接Oracle數據庫  oracle ojdbc難免費,須要手動引入jar包 -->
     <dependency>
        <groupId>oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
     </dependency>
     <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-jdbc</artifactId>
     </dependency>
     <!-- 集成mybatis -->
     <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>1.3.1</version>
     </dependency>
     <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>druid</artifactId>
        <version>1.1.0</version>
     </dependency>

  

注意:sql

若是你用的是Oracle數據庫在pom.xml中有可能會報這個錯Missing artifact oracle:ojdbc6:jar 由於Oracle的ojdbc.jar是收費的,因此maven的中央倉庫沒有這個資源,只能配置本地倉庫才能加載到項目中去。數據庫

配置application.properties瀏覽器

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

  

指定了mybatis的配置地址,你能夠在mybatis/mybatis-config.xml中添加一些其餘配置mybatis

完成以後你就能夠去mapper文件夾下自由瀟灑的去寫sql去了oracle

咱們來測試一下看看是否成功,去寫個sql試試效果怎麼樣?就返回用戶的一些基本信息吧。實現代碼以下:app

Controller層:框架

@RestController
public class UserController {
    @Autowired
    private UserService userService;

    @RequestMapping(value = "/user", method = RequestMethod.GET)
    public User findUserByName(@RequestParam(value = "userName", required = true) String userName) {
        return userService.findUserByName(userName);
    }

}

  

Service層:只寫方法具體實如今UserServiceImpl類中maven

public interface UserService {

    User findUserByName(String userName);
    
}

  

Service層的實現類,實現UserService中的方法

@Service
public class UserServiceImpl implements UserService {
    @Autowired
    private UserDao userDao;

    @Override
    public User findUserByName(String userName) {
        User user = userDao.findUserByName(userName);
        return  user;
    }

}

  

Dao層 注意要添加@Mapper註解,不然會報錯的

@Mapper   
public interface UserDao {
    User findUserByName(@Param("userName") String userName);
}

  

實體類

public class User {
    private String code; 
    private String username;
    private String name;
    //get/set方法省略
}

  

userMapper.xml  要注意namespace可否正確跳轉(路徑是否正確)

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

  這些都完成以後,那麼接下來就是見證奇蹟的時刻了,啓動項目,瀏覽器輸入地址顯示以下

數據庫中查詢結果以下

成功整合了mybatis和Oracle!

  若有不當和錯誤之處,請指出,咱們一塊兒交流學習,共同進步!謝謝!

相關文章
相關標籤/搜索