Selaa lähdekoodia

提交xml测试.

nieqiurong 6 vuotta sitten
vanhempi
commit
255ad5e406

+ 38 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/TestXmlConfig.java

@@ -0,0 +1,38 @@
+package com.baomidou.mybatisplus.test.h2;
+
+import java.io.IOException;
+import java.sql.SQLException;
+import org.junit.Assert;
+import org.junit.BeforeClass;
+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.test.h2.config.H2Db;
+import com.baomidou.mybatisplus.test.h2.entity.persistent.H2User;
+import com.baomidou.mybatisplus.test.h2.service.IH2UserService;
+
+/**
+ * 测试XML配置
+ * @author nieqiurong 2018/8/14 13:30.
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ContextConfiguration(locations = {"classpath:h2/spring-test-xml-h2.xml"})
+public class TestXmlConfig {
+
+    @Autowired
+    protected IH2UserService userService;
+
+    @BeforeClass
+    public static void initDB() throws SQLException, IOException {
+        H2Db.initH2User();
+    }
+
+    @Test
+    public void test() {
+        H2User user = userService.getById(101L);
+        Assert.assertNotNull(user);
+    }
+
+}

+ 29 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/h2/config/MybatisXmlConfig.java

@@ -0,0 +1,29 @@
+package com.baomidou.mybatisplus.test.h2.config;
+
+import javax.sql.DataSource;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.core.io.ClassPathResource;
+import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
+
+/**
+ * @author nieqiurong 2018/8/14 13:18.
+ */
+@Configuration
+@MapperScan("com.baomidou.mybatisplus.test.h2.entity.mapper")
+public class MybatisXmlConfig {
+
+
+    @Bean("mybatisSqlSession")
+    public SqlSessionFactory sqlSessionFactory(DataSource dataSource) throws Exception {
+        MybatisSqlSessionFactoryBean sqlSessionFactory = new MybatisSqlSessionFactoryBean();
+        sqlSessionFactory.setDataSource(dataSource);
+        sqlSessionFactory.setTypeAliasesPackage("com.baomidou.mybatisplus.test.h2.entity.persistent");
+        sqlSessionFactory.setConfigLocation(new ClassPathResource("mybatis-config.xml"));
+        return sqlSessionFactory.getObject();
+    }
+
+}

+ 38 - 0
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/reflection/ExampleObjectFactory.java

@@ -0,0 +1,38 @@
+package com.baomidou.mybatisplus.test.reflection;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Properties;
+
+import org.apache.ibatis.reflection.factory.DefaultObjectFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * 对象工厂
+ * @author nieqiurong 2018/8/14 13:12.
+ */
+public class ExampleObjectFactory extends DefaultObjectFactory {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(ExampleObjectFactory.class);
+
+    public Object create(Class type) {
+        LOGGER.debug("生成一个对象 type = [" + type + "]");
+        return super.create(type);
+    }
+
+    @Override
+    public <T> T create(Class<T> type, List<Class<?>> constructorArgTypes, List<Object> constructorArgs) {
+        LOGGER.info("生成一个对象 type = [" + type + "], constructorArgTypes = [" + constructorArgTypes + "], constructorArgs = [" + constructorArgs + "]");
+        return super.create(type, constructorArgTypes, constructorArgs);
+    }
+
+    public void setProperties(Properties properties) {
+        LOGGER.debug("设置属性 properties = [" + properties + "]");
+        super.setProperties(properties);
+    }
+    public <T> boolean isCollection(Class<T> type) {
+        return Collection.class.isAssignableFrom(type);
+    }
+
+}

+ 12 - 0
mybatis-plus/src/test/resources/h2/spring-test-xml-h2.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:context="http://www.springframework.org/schema/context"
+       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
+           http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
+
+    <context:component-scan base-package="com.baomidou.mybatisplus.test.h2.service"/>
+
+    <bean class="com.baomidou.mybatisplus.test.h2.config.DBConfig"/>
+    <bean class="com.baomidou.mybatisplus.test.h2.config.MybatisXmlConfig"/>
+</beans>

+ 14 - 0
mybatis-plus/src/test/resources/mybatis-config.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE configuration
+        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-config.dtd">
+<configuration>
+
+    <settings>
+        <setting name="mapUnderscoreToCamelCase" value="true"/>
+    </settings>
+
+    <objectFactory type="com.baomidou.mybatisplus.test.reflection.ExampleObjectFactory">
+        <property name="someProperty" value="100"/>
+    </objectFactory>
+</configuration>