OceanBase學習之路3 |SpringJDBC 連線示例

老樹樁12發表於2023-01-16

本文介紹 SpringJDBC 連線示例。

配置依賴

<dependency>
   <groupId>com.alipay.oceanbase</groupId>
   <artifactId>oceanbase-client</artifactId>
   <version>3.2.3</version>
</dependency>
<dependency>
   <groupId>org.springframework</groupId>
   <artifactId>spring-jdbc</artifactId>
   <version>5.0.9.RELEASE</version>
</dependency>

示例程式碼

預載入靜態程式碼塊(為方便測試,此處使用 druid 連線池):

static {
        Map<String, String> map = new HashMap<String, String>();
        map.put("url", "jdbc:oceanbase://10.100.xxx.xxx:18815/test");
        map.put("driverClassName", "com.alipay.oceanbase.jdbc.Driver");
        map.put("username", "admin@oracle");
        map.put("password", "admin");
        try {
            Class.forName(map.get("driverClassName"));
            jdbcTemplate = new JdbcTemplate(DruidDataSourceFactory.createDataSource(map));
            //防止異常語句,沒有這兩句,會出錯
            jdbcTemplate.execute("set transaction_isolation = 'READ-COMMITTED';");
            jdbcTemplate.execute("set tx_isolation = 'READ-COMMITTED';");
        } catch (Exception e) {
            e.printStackTrace();
        }
}
 @Test
    public void createByOrcTypeDate(){
        sql ="create table D_DPRECORD(DEV_ID VARCHAR2(50),"+
             "CAR_SPEED NUMBER(3),"+
             "CAP_DATE TIMESTAMP WITH LOCAL TIME ZONE," +
             "DEV_CHNID VARCHAR2(50) not null," +
             "TRSFMARK NUMBER(1) default 0," +
             "CREATE_TIME DATE default sysdate" +
             ");";
        jdbcTemplate.execute(sql);
    }
 @Test
    public void addTest(){
        int i = 1;
        for (;i<=100;i++){
            sql = "insert into orc_type_test values ("+i+",'測試資料"+i+"');";
            jdbcTemplate.execute(sql);
        }
    }
 @Test
    public void selectTest(){
        sql = "select * from orc_type_test;";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        for (Map<String,Object> m : maps){
            System.out.println(m);
        }
    }

 @Test
    public void rownumQueryTest() {
        sql = "select * from D_DPRECORD where rownum <=70 minus (select * from D_DPRECORD where rownum<60);";
        List<Map<String, Object>> maps = jdbcTemplate.queryForList(sql);
        for (Map<String, Object> m : maps) {
            System.out.println(m);
        }
    }


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70026075/viewspace-2932333/,如需轉載,請註明出處,否則將追究法律責任。

相關文章