SpringBoot Mybatis 框架整合笔记

pom文件jar包如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>


  <groupId>com</groupId>
  <artifactId>springboot</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>jar</packaging>


  <name>springboot</name>
  <url>http://maven.apache.org</url>


    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.4.1.RELEASE</version>
    </parent>
  
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>


  <dependencies>
  <!--本地maven项目 打包成jar 存到maven后 导入 -->
 		<dependency>
  			<groupId>com.winbaoxian.bigdata.crawler</groupId>
			<artifactId>small-spider</artifactId>
			<version>1.1</version>
  		</dependency> 
		<dependency>
			<groupId>org.apache.httpcomponents</groupId>
			<artifactId>httpcore</artifactId>
			<version>4.4.6</version>
		</dependency>
    	<dependency>
     		<groupId>junit</groupId>
      		<artifactId>junit</artifactId>
    		<version>3.8.1</version>
     		 <scope>test</scope>
    	</dependency>
    	 <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
       
	<!-- mybatis with  springBoot -->
	 <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.0</version>
        </dependency>
		<!-- 导入Mysql数据库链接jar包 -->
		<dependency>
  		  	<groupId>mysql</groupId>
    	  	<artifactId>mysql-connector-java</artifactId>
   	 	 	  <version>5.1.6</version>
   	    </dependency>
   	 	 <!-- https://mvnrepository.com/artifact/commons-pool/commons-pool -->
		<dependency>
    		<groupId>commons-pool</groupId>
    		<artifactId>commons-pool</artifactId>
    		<version>1.6</version>
		</dependency>
   	 	 <!-- https://mvnrepository.com/artifact/commons-dbcp/commons-dbcp -->
		<dependency>
   			 <groupId>commons-dbcp</groupId>
    		 <artifactId>commons-dbcp</artifactId>
    		 <version>1.4</version>
		</dependency>
   	 	 
   	 	 	<!-- jsoup-->
   	 	 <dependency>
    		<groupId>org.jsoup</groupId>
    		<artifactId>jsoup</artifactId>
   		    <version>1.8.3</version>
		</dependency>
		<!-- log-->
		<dependency>
   		    <groupId>commons-logging</groupId>
   		    <artifactId>commons-logging</artifactId>
    		 <version>1.1.1</version>
		</dependency>


   	 	 
  </dependencies>
   <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>
</project>


这里是通过mapping.xml文件操作数据库,所有数据源配置如下:

package com.study.crawler.config;


import javax.sql.DataSource;


import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;


/**
 * @author cqw
 * @Introduce mybatis信息配置 自动读取mapping配置文件
 * @Param
 * @Return
 * @Time 2018年3月31日
 */
@Configuration
@MapperScan(basePackages = "com.study.crawler.dao", sqlSessionTemplateRef = "spiderSqlSessionTemplate")//对应dao的位置
public class MybatisConfigTest {
	@Autowired
	private DataSource dataSource;


	@Bean(name = "spiderSqlSessionFactory")
	public SqlSessionFactory sqlSessionFactory() throws Exception {
		SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
		// 显式指定数据源
		bean.setDataSource(dataSource);
		PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		// 指定xml文件位置
		bean.setMapperLocations(resolver.getResources("classpath:/sqlMap/*.xml"));
		return bean.getObject();
	}


	@Bean(name = "spiderSqlSessionTemplate")
	public SqlSessionTemplate testSqlSessionTemplate(
			@Qualifier("spiderSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
		return new SqlSessionTemplate(sqlSessionFactory);
	}
}

如果是多数据源 则还需要配置:

package com.study.crawler.config;

import javax.sql.DataSource;

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * @author cqw
 * @date 2018年4月13日
 * @introduce:定义多数据源时读取application.properties中的配置信息
 */
@Configuration
public class DataSourceConfig {

	// 配置主数据源
	@Bean(name = "primaryDataSource")
	@Qualifier("primaryDataSource")
	@ConfigurationProperties(prefix = "spring.datasource")
	public DataSource primaryDataSource() {
		return DataSourceBuilder.create().build();
	}

	// 配置第二数据源
	/*@Bean(name = "secondDataSource")
	@Qualifier("secondDataSource")
	@Primary
	@ConfigurationProperties(prefix = "spring.second.datasource")
	public DataSource secondDataSource() {
		return DataSourceBuilder.create().build();
	}*/

	
}

server.port=1996

com.study.ThreadNumber=4

#spring.datasource  在但数据源 boot会自动读取 不需要配置DataSourceConfig 配置类
spring.datasource.driver-class-name=   
spring.datasource.url=jdbc:mysql://localhost:3306/crawler?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
spring.datasource.username=
spring.datasource.password=
最后 提一点:springboot的启动类 要放在最上层的路径,或者添加注解@ComponentScan(basePackages = { "com.study.crawler" })这样才会扫描包下的注解



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值