Przeglądaj źródła

update oracle test case

use spring test
yuxiaobin 8 lat temu
rodzic
commit
6f3916ad73

+ 48 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/OracleUserTest.java

@@ -0,0 +1,48 @@
+package com.baomidou.mybatisplus.test.oracle;
+
+import java.util.List;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.test.oracle.config.OracleDBConfig;
+import com.baomidou.mybatisplus.test.oracle.config.OracleMybatisPlusConfig;
+import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
+import com.baomidou.mybatisplus.test.oracle.mapper.TestSequserMapper;
+
+/**
+ * <p>
+ * oracle user test for spring
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/14
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(classes = {OracleDBConfig.class, OracleMybatisPlusConfig.class})
+public class OracleUserTest {
+
+    @Autowired
+    TestSequserMapper sequserMapper;
+
+    @Test
+    public void testSelectListMp(){
+        List<TestSequser> list = sequserMapper.selectList(new EntityWrapper<TestSequser>());
+        for(TestSequser u:list){
+            System.out.println(u);
+        }
+    }
+
+    @Test
+    public void testSelectListNative(){
+        List<TestSequser> list = sequserMapper.getList();
+        for(TestSequser u:list){
+            System.out.println(u);
+        }
+    }
+
+}

+ 16 - 3
src/test/java/com/baomidou/mybatisplus/test/oracle/TestSequserMapperTest.java

@@ -25,7 +25,9 @@ import org.apache.ibatis.session.SqlSessionFactory;
 import com.baomidou.mybatisplus.MybatisSessionFactoryBuilder;
 import com.baomidou.mybatisplus.entity.GlobalConfiguration;
 import com.baomidou.mybatisplus.entity.OracleKeyGenerator;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
+import com.baomidou.mybatisplus.test.oracle.mapper.TestSequserMapper;
 
 
 /**
@@ -66,7 +68,7 @@ public class TestSequserMapperTest {
         TestSequser one = new TestSequser("abc", 18, 1);
         int rlt = testSequserMapper.insert(one);
         System.err.println("\n one.id-------:" + one.getId());
-        sleep();
+//        sleep();
 
         /**
          * 批量插入
@@ -80,8 +82,19 @@ public class TestSequserMapperTest {
         for (TestSequser u : ul) {
             rlt = testSequserMapper.insert(u);
         }
-        for (TestSequser u : ul) {
-            System.err.println("\n one.id-------:" + u.getId());
+//        for (TestSequser u : ul) {
+//            System.err.println("\n one.id-------:" + u.getId());
+//        }
+
+        System.out.println("********************");
+        List<TestSequser> testList = testSequserMapper.getList();
+        for (TestSequser u : testList) {
+            System.out.println(u);
+        }
+
+        testList = testSequserMapper.selectList(new EntityWrapper<TestSequser>());
+        for (TestSequser u : testList) {
+            System.out.println(u);
         }
         
         /**

+ 1 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/TestUserMapperTest.java

@@ -27,6 +27,7 @@ import com.baomidou.mybatisplus.entity.GlobalConfiguration;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.baomidou.mybatisplus.test.oracle.entity.TestUser;
+import com.baomidou.mybatisplus.test.oracle.mapper.TestUserMapper;
 
 /**
  * <p>

+ 41 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/config/OracleDBConfig.java

@@ -0,0 +1,41 @@
+package com.baomidou.mybatisplus.test.oracle.config;
+
+import java.sql.SQLException;
+
+import javax.sql.DataSource;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.jdbc.datasource.DataSourceTransactionManager;
+import org.springframework.jdbc.datasource.SimpleDriverDataSource;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+
+import oracle.jdbc.OracleDriver;
+
+
+/**
+ * 对应的数据库配置
+ * 
+ * @author yuxiaobin
+ *
+ */
+@Configuration
+@EnableTransactionManagement
+public class OracleDBConfig {
+
+	@Bean
+    public DataSource dataSource() throws SQLException {
+		SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
+		dataSource.setDriver(new OracleDriver());
+        dataSource.setUrl("jdbc:oracle:thin:@localhost:1521:xe");
+        dataSource.setUsername("mp");
+        dataSource.setPassword("mp");
+        return dataSource;
+    }
+	
+	@Bean
+	public DataSourceTransactionManager transactionManager(DataSource ds) {
+		return new DataSourceTransactionManager(ds);
+	}
+
+}

+ 60 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/config/OracleMybatisPlusConfig.java

@@ -0,0 +1,60 @@
+package com.baomidou.mybatisplus.test.oracle.config;
+
+import javax.sql.DataSource;
+
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.apache.ibatis.type.JdbcType;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.ResourceLoader;
+
+import com.baomidou.mybatisplus.MybatisConfiguration;
+import com.baomidou.mybatisplus.MybatisXMLLanguageDriver;
+import com.baomidou.mybatisplus.entity.GlobalConfiguration;
+import com.baomidou.mybatisplus.entity.OracleKeyGenerator;
+import com.baomidou.mybatisplus.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.spring.MybatisSqlSessionFactoryBean;
+
+/**
+ * <p>
+ * Mybatis Plus Config
+ * </p>
+ *
+ * @author Caratacus
+ * @date 2017/4/1
+ */
+@Configuration
+@MapperScan("com.baomidou.mybatisplus.test.oracle.mapper")
+public class OracleMybatisPlusConfig {
+
+    @Bean
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource, ResourceLoader resourceLoader, GlobalConfiguration globalConfiguration) throws Exception {
+        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
+        sqlSessionFactory.setDataSource(dataSource);
+        sqlSessionFactory.setTypeAliasesPackage("com.baomidou.mybatisplus.test.oracle.entity");
+        MybatisConfiguration configuration = new MybatisConfiguration();
+        configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
+        configuration.setJdbcTypeForNull(JdbcType.NULL);
+        configuration.setMapUnderscoreToCamelCase(true);
+        sqlSessionFactory.setConfiguration(configuration);
+        PaginationInterceptor pagination = new PaginationInterceptor();
+        pagination.setDialectType("oracle");
+        sqlSessionFactory.setPlugins(new Interceptor[]{
+                pagination
+        });
+        sqlSessionFactory.setGlobalConfig(globalConfiguration);
+        return sqlSessionFactory.getObject();
+    }
+
+    @Bean
+    public GlobalConfiguration globalConfiguration() {
+        GlobalConfiguration conf = new GlobalConfiguration();
+        conf.setIdType(1);
+        conf.setDbType("oracle");
+        conf.setKeyGenerator(new OracleKeyGenerator());
+//        conf.setDbColumnUnderline(true);
+        return conf;
+    }
+}

+ 11 - 3
src/test/java/com/baomidou/mybatisplus/test/oracle/entity/TestSequser.java

@@ -2,9 +2,7 @@ package com.baomidou.mybatisplus.test.oracle.entity;
 
 import java.io.Serializable;
 
-import com.baomidou.mybatisplus.annotations.KeySequence;
 import com.baomidou.mybatisplus.annotations.TableField;
-import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 
 /**
@@ -26,17 +24,19 @@ public class TestSequser  extends BaseTestEntity implements Serializable{
     /**
      * 名称
      */
+	@TableField(value = "NAME")
     private String name;
 
     /**
      * 年龄
      */
+	@TableField(value = "age")
     private Integer age;
     
     /**
      * 测试下划线字段命名类型
      */
-    //@TableField(value = "TEST_TYPE")
+    @TableField(value = "TEST_TYPE")
     private Integer testType;
 
     public TestSequser() {
@@ -82,4 +82,12 @@ public class TestSequser  extends BaseTestEntity implements Serializable{
 		this.testType = testType;
 	}
 
+	@Override
+	public String toString() {
+		return "TestSequser{" +
+				"name='" + name + '\'' +
+				", age=" + age +
+				", testType=" + testType +
+				'}';
+	}
 }

+ 7 - 2
src/test/java/com/baomidou/mybatisplus/test/oracle/TestSequserMapper.java → src/test/java/com/baomidou/mybatisplus/test/oracle/mapper/TestSequserMapper.java

@@ -1,4 +1,8 @@
-package com.baomidou.mybatisplus.test.oracle;
+package com.baomidou.mybatisplus.test.oracle.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Select;
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
@@ -8,5 +12,6 @@ import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
  */
 public interface TestSequserMapper extends BaseMapper<TestSequser> {
 
-
+    @Select("select * from TEST_SEQUSER")
+    public List<TestSequser> getList();
 }

+ 1 - 1
src/test/java/com/baomidou/mybatisplus/test/oracle/TestUserMapper.java → src/test/java/com/baomidou/mybatisplus/test/oracle/mapper/TestUserMapper.java

@@ -1,4 +1,4 @@
-package com.baomidou.mybatisplus.test.oracle;
+package com.baomidou.mybatisplus.test.oracle.mapper;
 
 import com.baomidou.mybatisplus.mapper.BaseMapper;
 import com.baomidou.mybatisplus.test.oracle.entity.TestUser;

+ 15 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/service/OracleUserSeqService.java

@@ -0,0 +1,15 @@
+package com.baomidou.mybatisplus.test.oracle.service;
+
+import com.baomidou.mybatisplus.service.IService;
+import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/14
+ */
+public interface OracleUserSeqService extends IService<TestSequser> {
+
+}

+ 21 - 0
src/test/java/com/baomidou/mybatisplus/test/oracle/service/impl/OracleUserSeqServiceImpl.java

@@ -0,0 +1,21 @@
+package com.baomidou.mybatisplus.test.oracle.service.impl;
+
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.test.oracle.entity.TestSequser;
+import com.baomidou.mybatisplus.test.oracle.mapper.TestSequserMapper;
+import com.baomidou.mybatisplus.test.oracle.service.OracleUserSeqService;
+
+/**
+ * <p>
+ * </p>
+ *
+ * @author yuxiaobin
+ * @date 2017/6/14
+ */
+@Service
+public class OracleUserSeqServiceImpl extends ServiceImpl<TestSequserMapper, TestSequser> implements OracleUserSeqService{
+
+
+}

+ 1 - 1
src/test/resources/oracle/TestUserMapper.xml

@@ -1,6 +1,6 @@
 <?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.baomidou.mybatisplus.test.oracle.TestUserMapper">
+<mapper namespace="com.baomidou.mybatisplus.test.oracle.mapper.TestUserMapper">
 
 	<!-- 通用查询结果列-->
 	<sql id="Base_Column_List">