Przeglądaj źródła

弄了一个 mysql 的 test

miemie 7 lat temu
rodzic
commit
1415942952

+ 1 - 1
mybatis-plus/build.gradle

@@ -19,5 +19,5 @@ dependencies {
     testCompile rootProject.ext.dependencies["postgresql"]
     testCompile rootProject.ext.dependencies["oracle"]
     testCompile rootProject.ext.dependencies["mysql"]
-
+    testCompile "org.apache.logging.log4j:log4j-slf4j-impl:2.9.1"
 }

+ 27 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/base/entity/TestData.java

@@ -0,0 +1,27 @@
+package com.baomidou.mybatisplus.test.base.entity;
+
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import java.time.LocalDate;
+import java.time.LocalDateTime;
+import java.time.LocalTime;
+
+/**
+ * @author meimie
+ * @date 2018/6/7
+ */
+@Data
+@Accessors(chain = true)
+public class TestData {
+
+    private Long id;
+    private Integer testInt;
+    private String testStr;
+    private Double testDouble;
+    private Boolean testBoolean;
+    private LocalDate testDate;
+    private LocalTime testTime;
+    private LocalDateTime testDateTime;
+    private LocalDateTime testTimestamp;
+}

+ 11 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/base/mapper/TestDataMapper.java

@@ -0,0 +1,11 @@
+package com.baomidou.mybatisplus.test.base.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.test.base.entity.TestData;
+
+/**
+ * @author miemie
+ * @date 2018/6/7
+ */
+public interface TestDataMapper extends BaseMapper<TestData> {
+}

+ 31 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/MysqlTestDataMapperTest.java

@@ -0,0 +1,31 @@
+package com.baomidou.mybatisplus.test.mysql;
+
+import com.baomidou.mybatisplus.test.base.mapper.TestDataMapper;
+import com.baomidou.mybatisplus.test.h2.BaseTest;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.springframework.test.context.ContextConfiguration;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+
+import javax.annotation.Resource;
+
+/**
+ * <p>
+ * Mybatis Plus H2 Junit Test
+ * </p>
+ *
+ * @author hubin
+ * @since 2018-06-05
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:mysql/spring-test-mysql.xml"})
+public class MysqlTestDataMapperTest extends BaseTest {
+
+    @Resource
+    protected TestDataMapper testDataMapper;
+
+    @Test
+    public void selectById() {
+        System.out.println(testDataMapper.selectById(1L));
+    }
+}

+ 36 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/DBConfig.java

@@ -0,0 +1,36 @@
+package com.baomidou.mybatisplus.test.mysql.config;
+
+import org.h2.Driver;
+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 javax.sql.DataSource;
+import java.sql.SQLException;
+
+/**
+ * @author miemie
+ * @date 2018/6/7
+ */
+@Configuration
+@EnableTransactionManagement
+public class DBConfig {
+
+    @Bean
+    public DataSource dataSource() throws SQLException {
+        SimpleDriverDataSource dataSource = new SimpleDriverDataSource();
+        dataSource.setDriver(new Driver());
+        dataSource.setUrl("jdbc:mysql://localhost:3306/mybatis_plus");
+        dataSource.setDriverClass(com.mysql.jdbc.Driver.class);
+        dataSource.setUsername("root");
+        dataSource.setPassword("123456");
+        return dataSource;
+    }
+
+    @Bean
+    public DataSourceTransactionManager transactionManager(DataSource ds) {
+        return new DataSourceTransactionManager(ds);
+    }
+}

+ 63 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/config/MybatisPlusConfig.java

@@ -0,0 +1,63 @@
+package com.baomidou.mybatisplus.test.mysql.config;
+
+import com.baomidou.mybatisplus.core.MybatisConfiguration;
+import com.baomidou.mybatisplus.core.config.DbConfig;
+import com.baomidou.mybatisplus.core.config.GlobalConfig;
+import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+import com.baomidou.mybatisplus.test.h2.H2MetaObjectHandler;
+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 javax.sql.DataSource;
+
+/**
+ * <p>
+ * Mybatis Plus Config
+ * </p>
+ *
+ * @author Caratacus
+ * @date 2017/4/1
+ */
+@Configuration
+@MapperScan("com.baomidou.mybatisplus.test.base.mapper")
+public class MybatisPlusConfig {
+
+    @Bean("mybatisSqlSession")
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource, GlobalConfig globalConfiguration) throws Exception {
+        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
+        sqlSessionFactory.setDataSource(dataSource);
+//        sqlSessionFactory.setConfigLocation(resourceLoader.getResource("classpath:mybatis-config.xml"));
+//        sqlSessionFactory.setTypeAliasesPackage("com.baomidou.mybatisplus.test.h2.entity.persistent");
+        MybatisConfiguration configuration = new MybatisConfiguration();
+//        configuration.setDefaultScriptingLanguage(MybatisXMLLanguageDriver.class);
+//        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
+        configuration.setJdbcTypeForNull(JdbcType.NULL);
+        configuration.setMapUnderscoreToCamelCase(true);
+        sqlSessionFactory.setConfiguration(configuration);
+        PaginationInterceptor pagination = new PaginationInterceptor();
+        pagination.setLocalPage(true);
+//        OptimisticLockerInterceptor optLock = new OptimisticLockerInterceptor();
+//        sqlSessionFactory.setPlugins(new Interceptor[]{
+//            pagination,
+//            optLock,
+//            new PerformanceInterceptor()
+//        });
+        globalConfiguration.setMetaObjectHandler(new H2MetaObjectHandler());
+        sqlSessionFactory.setGlobalConfig(globalConfiguration);
+        return sqlSessionFactory.getObject();
+    }
+
+    @Bean
+    public GlobalConfig globalConfiguration() {
+        GlobalConfig conf = new GlobalConfig();
+//        LogicSqlInjector logicSqlInjector = new LogicSqlInjector();
+//        conf.setLogicDeleteValue("-1");
+//        conf.setLogicNotDeleteValue("1");
+        conf.setDbConfig(new DbConfig().setIdType(2));
+        return conf;
+    }
+}

+ 18 - 0
mybatis-plus/src/test/resources/log4j2.xml

@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration status="WARN">
+    <!--先定义所有的appender-->
+    <Appenders>
+        <!--这个输出控制台的配置-->
+        <Console name="Console" target="SYSTEM_OUT">
+            <!--这个都知道是输出日志的格式  线程信息:[%t]-->
+            <PatternLayout pattern="%d{ABSOLUTE} [%t] %level %class %L %M - %m%n"/>
+        </Console>
+    </Appenders>
+
+    <Loggers>
+        <!--根logger-->
+        <Root level="debug">
+            <AppenderRef ref="Console"/>
+        </Root>
+    </Loggers>
+</configuration>

+ 36 - 0
mybatis-plus/src/test/resources/mysql/initData.sql

@@ -0,0 +1,36 @@
+CREATE TABLE IF NOT EXISTS test_data (
+    id             BIGINT (20) primary key,
+    test_int       integer,
+    test_str       varchar(50),
+    test_double    double,
+    test_boolean   tinyint(1),
+    test_date      date,
+    test_time      time,
+    test_date_time datetime,
+    test_timestamp timestamp
+);
+
+insert into test_data
+values (1, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (2, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (3, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (4, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (5, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (6, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (7, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (8, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (9, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (10, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (11, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');
+insert into test_data
+values (12, 1, '1', 1.1, 1, '2008-08-08', '12:12:12', '2008-08-08 12:12:12', '2008-08-08 12:12:12');

+ 11 - 0
mybatis-plus/src/test/resources/mysql/spring-test-mysql.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns="http://www.springframework.org/schema/beans"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
+
+    <!--<context:component-scan base-package="com.baomidou.mybatisplus.test.h2.service"/>-->
+
+    <bean name="dbConfig" class="com.baomidou.mybatisplus.test.mysql.config.DBConfig"/>
+    <bean name="mybatisPlusConfig" class="com.baomidou.mybatisplus.test.mysql.config.MybatisPlusConfig"/>
+
+</beans>