springboot+mybatis+oracle+druid入門原來很簡單

一 前言

看了好多網上文章大概都是使用jdbc,jpa,鏈接oracle,感受真心不是很友好,故知識追尋者在這邊提供了一篇較爲簡單的配置方式,以供初學者學習!本篇文章主要是講如何使用mybatis+oracle+springboot+druid集成,實現簡單的查詢,會查詢固然其餘操做很簡單,入門級!mysql

二 pom.xml

依賴文件引入oracle.ojdbc6驅動能夠在maven中央倉庫直接下載到, mybatis-boot-start用於配置mybatis, start-test用於測試,druid鏈接池。web

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.1.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    
    <dependencies>
        <!-- oracle jdbc 插件 -->
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.10</version>
        </dependency>
    </dependencies>

三 mapper

mapper全類名須要與四節的sql映射器的命名空間對應spring

@Repository
@Mapper
public interface AddresseeSupervisionMapper {

    List<Map> getAddresseeSupervision();
}

四 sql映射器

sql 的映射文件在resource 目錄下的子目錄 mapper中;因爲數據庫數據量很大這邊使用 行號 rownum 限制查第一條數據。sql

<?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.zszxz.sync.mapper.AddresseeSupervisionMapper">

    <select id="getAddresseeSupervision" resultType="map">
        select * from sp_addressee_supervision where rownum=1
    </select>
</mapper>

五 啓動類

啓動類@SpringBootApplication表示springboot的應用。數據庫

@SpringBootApplication
public class App {

    public static void main(String[] args) {

        SpringApplication.run(App.class,args);
    }
}

六 application.yml

druid數據源配置以下,注意測試的sql語句 SELECT 1 FROM DUAL 不能寫 select 1 , 由於 oracle有虛表的說法。一般的mysql沒有。mybtis的classpath配置路徑就是第四節mapper文件位置,通配符*表示匹配全部。配置文件中的Ip地址,用戶名,密碼根據讀者自行配置。springboot

spring:
  #數據庫配置
  datasource:
    driverClassName: oracle.jdbc.driver.OracleDriver
    url: jdbc:oracle:thin:@ip:1521:orcl
    username: 
    password: 
    druid:
      #初始化鏈接大小
      initial-size: 3
      #最小空閒鏈接數
      min-idle: 2
      #最大鏈接數
      max-active: 20
      validationQuery: SELECT 1 FROM DUAL
      filters: stat
      test-while-idle: true
      test-on-borrow: true
      test-on-return: false
      max-wait: 30000
      timeBetweenEvictionRunsMillis: 60000
      minEvictableIdleTimeMillis: 30000

mybatis:
  mapper-locations: classpath:mapper/*.xml
  configuration:
    call-setters-on-nulls: true
    map-underscore-to-camel-case: true

七 測試

注意點是要在類上加@Component註解,表示spring的組件類,在spring IOC 容器啓動時會掃描注入,不然mapper注入時會報空異常。mybatis

@SpringBootTest
@RunWith(SpringRunner.class)
@Component
public class AppTest {

    @Autowired
    AddresseeSupervisionMapper addresseeSupervisionMapper;

    @Test
    public void test(){
        System.out.println(addresseeSupervisionMapper.getAddresseeSupervision());
    }

}

八 執行結果

數據不方便展現,只查詢一條結果以下oracle

[{ADDRESSEE_CD=ff808081413fe46701413fe9206a0015, IS_ADD=1, DECLARAN..................
相關文章
相關標籤/搜索