瀏覽代碼

使用mybatis-spring-boot方式进行配置

周浩 9 年之前
父節點
當前提交
b177478b08

+ 10 - 33
hsweb-web-dao-impl-mybatis/pom.xml

@@ -10,62 +10,39 @@
     <modelVersion>4.0.0</modelVersion>
     <modelVersion>4.0.0</modelVersion>
 
 
     <artifactId>hsweb-web-dao-impl-mybatis</artifactId>
     <artifactId>hsweb-web-dao-impl-mybatis</artifactId>
-    <version>${parent.version}</version>
+    <version>${project.parent.version}</version>
 
 
     <properties>
     <properties>
-        <mybatis.version>3.3.0</mybatis.version>
+        <mybatis.version>3.3.2</mybatis.version>
         <mybatis.spring.version>1.2.3</mybatis.spring.version>
         <mybatis.spring.version>1.2.3</mybatis.spring.version>
         <druid.version>1.0.5</druid.version>
         <druid.version>1.0.5</druid.version>
     </properties>
     </properties>
-    <build>
-        <!--配置Maven 对resource文件 过滤 -->
-        <resources>
-            <resource>
-                <directory>src/main/resources</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-            <resource>
-                <directory>src/main/java</directory>
-                <includes>
-                    <include>**/*.properties</include>
-                    <include>**/*.xml</include>
-                </includes>
-                <filtering>true</filtering>
-            </resource>
-        </resources>
-
-    </build>
 
 
     <dependencies>
     <dependencies>
         <dependency>
         <dependency>
             <groupId>org.hsweb</groupId>
             <groupId>org.hsweb</groupId>
             <artifactId>hsweb-web-dao-interface</artifactId>
             <artifactId>hsweb-web-dao-interface</artifactId>
-            <version>${parent.version}</version>
         </dependency>
         </dependency>
 
 
         <dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-jdbc</artifactId>
             <artifactId>spring-boot-starter-jdbc</artifactId>
-            <version>${spring.boot.version}</version>
         </dependency>
         </dependency>
 
 
         <!-- mybatis start-->
         <!-- mybatis start-->
         <dependency>
         <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis</artifactId>
-            <version>${mybatis.version}</version>
+            <groupId>org.mybatis.spring.boot</groupId>
+            <artifactId>mybatis-spring-boot-starter</artifactId>
+            <version>1.0.2</version>
         </dependency>
         </dependency>
 
 
+        <!--mybatis end-->
+        <!-- cglib -->
         <dependency>
         <dependency>
-            <groupId>org.mybatis</groupId>
-            <artifactId>mybatis-spring</artifactId>
-            <version>${mybatis.spring.version}</version>
+            <groupId>cglib</groupId>
+            <artifactId>cglib-nodep</artifactId>
+            <version>${cglib.version}</version>
         </dependency>
         </dependency>
-        <!--mybatis end-->
 
 
         <!-- DruidDataSource -->
         <!-- DruidDataSource -->
         <dependency>
         <dependency>

+ 0 - 42
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/dao/impl/mybatis/config/DataBaseConfiguration.java

@@ -1,42 +0,0 @@
-package org.hsweb.web.dao.impl.mybatis.config;
-
-import com.alibaba.druid.pool.DruidDataSource;
-import org.mybatis.spring.annotation.MapperScan;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.bind.RelaxedPropertyResolver;
-import org.springframework.context.EnvironmentAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.core.env.Environment;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import javax.sql.DataSource;
-
-/**
- * Created by 浩 on 2016-01-22 0022.
- */
-@Configuration
-@EnableTransactionManagement
-@MapperScan(basePackages = "org.hsweb.web.dao", sqlSessionFactoryRef = "sqlSessionFactory")
-public class DataBaseConfiguration implements EnvironmentAware {
-    private RelaxedPropertyResolver propertyResolver;
-
-    private Logger log = LoggerFactory.getLogger(this.getClass());
-
-    @Override
-    public void setEnvironment(Environment env) {
-        this.propertyResolver = new RelaxedPropertyResolver(env, "jdbc.");
-    }
-
-    @Bean(name = "dataSource", destroyMethod = "close", initMethod = "init")
-    public DataSource writeDataSource() {
-        log.debug("Configruing  DataSource");
-        DruidDataSource datasource = new DruidDataSource();
-        datasource.setUrl(propertyResolver.getProperty("url"));
-        datasource.setDriverClassName(propertyResolver.getProperty("driverClassName"));
-        datasource.setUsername(propertyResolver.getProperty("username"));
-        datasource.setPassword(propertyResolver.getProperty("password"));
-        return datasource;
-    }
-}

+ 0 - 69
hsweb-web-dao-impl-mybatis/src/main/java/org/hsweb/web/dao/impl/mybatis/config/MybatisConfiguration.java

@@ -1,69 +0,0 @@
-package org.hsweb.web.dao.impl.mybatis.config;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.ibatis.session.SqlSessionFactory;
-import org.mybatis.spring.SqlSessionFactoryBean;
-import org.mybatis.spring.annotation.MapperScan;
-import org.springframework.boot.autoconfigure.AutoConfigureAfter;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.bind.RelaxedPropertyResolver;
-import org.springframework.context.EnvironmentAware;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.EnableAspectJAutoProxy;
-import org.springframework.core.env.Environment;
-import org.springframework.core.io.DefaultResourceLoader;
-import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
-import org.springframework.jdbc.datasource.DataSourceTransactionManager;
-import org.springframework.transaction.annotation.EnableTransactionManagement;
-
-import javax.annotation.Resource;
-import javax.sql.DataSource;
-
-/**
- * 获取第二个数据库的连接信息,在application.yml中配置,并指定特定的前缀
- */
-@Configuration
-@ConditionalOnClass({EnableTransactionManagement.class})
-@AutoConfigureAfter({DataBaseConfiguration.class})
-@MapperScan(basePackages = {"org.hsweb.web.dao"})
-@EnableAspectJAutoProxy(proxyTargetClass = true)
-public class MybatisConfiguration implements EnvironmentAware {
-    private static Log logger = LogFactory.getLog(MybatisConfiguration.class);
-
-    private RelaxedPropertyResolver propertyResolver;
-
-    @Resource(name = "dataSource")
-    private DataSource dataSource;
-
-    @Override
-    public void setEnvironment(Environment environment) {
-        this.propertyResolver = new RelaxedPropertyResolver(environment, "mybatis.");
-    }
-
-    @Bean
-    @ConditionalOnMissingBean
-    public SqlSessionFactory sqlSessionFactory() {
-        try {
-            SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
-            sessionFactory.setDataSource(dataSource);
-            sessionFactory.setTypeAliasesPackage(propertyResolver.getProperty("typeAliasesPackage"));
-            sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(propertyResolver.getProperty("mapperLocations")));
-            sessionFactory.setConfigLocation(new DefaultResourceLoader().getResource(propertyResolver.getProperty("configLocation")));
-            return sessionFactory.getObject();
-        } catch (Exception e) {
-            logger.error("Could not confiure mybatis session factory", e);
-            return null;
-        }
-    }
-
-
-
-    @Bean
-    @ConditionalOnMissingBean
-    public DataSourceTransactionManager transactionManager() {
-        return new DataSourceTransactionManager(dataSource);
-    }
-}

+ 1 - 1
hsweb-web-dao-impl-mybatis/src/main/resources/org/hsweb/web/dao/impl/mybatis/mapper/oracle/basic/BasicMapper.xml

@@ -92,7 +92,7 @@
                 <!--指定不查询的字段-->
                 <!--指定不查询的字段-->
                 <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                 <when test="(includes==null or includes.size()==0) and excludes!=null and excludes.size()>0">
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
                     <foreach item="item" index="index" collection="$fields" open=" " separator="," close="">
-                        <if test="!(item in $excludes)">
+                        <if test="!(item in excludes)">
                             ${$tableName}.${item} as "${item}"
                             ${$tableName}.${item} as "${item}"
                         </if>
                         </if>
                     </foreach>
                     </foreach>