第三章:springboot+MyBatis项目配置

一.打开pom.xml中进行mysql配置

       <!--mysql jdbc驱动包配置-->
       <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
         <!--mysql连接池配置-->
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5.2</version>
        </dependency>

二.mybatis配置
在src/main/resources下新建mybatis-config.xml,并且进行配置,如下:

<?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>
        <!-- 使用jdbc的useGeneratedKeys获取数据库的自增主键值 -->
        <setting name="useGeneratedKeys" value = "true" />

        <!-- 使用标签替换列别名 -->
        <setting name="useColumnLabel" value = "true" />

        <!-- 开启驼峰命名转换 -->
        <setting name="mapUnderscoreToCamelCase" value = "true" />
    </settings>

</configuration>

如图:
这里写图片描述

三.dataSourse,sqlSessionFactory和service配置
在main/java包名下新建config包,然后在config下新建dao包,
在application.properties中添加常量属性,如下:

#设置请求端口号
server.port=8088
#设置请求根路径 所有的请求接口url都是以http://localhost:8088/zj 为开始
server.servlet.context-path=/zj

jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/zjdemo?useUnicode=true&characterEncoding=utf8&useSSL=false
jdbc.user = root
jdbc.password = 123456

mybatis_config_file = mybatis-config.xml
#设置mybatis生成mapper的存放路径
mapper_path = /mapper/**.xml

#设置mybatis生成entity实体类的存放路径
entity_package = me.zhengjun.com.footdemo.entity
pageSize = 10

然后在需要用到的地方使用 @Value注解进行获取,例如获取jdbc.driver的值,就可以这样获取
@Value(“${jdbc.driver}”)

1.新建类dataSourse进行数据库连接配置
如下:

package me.zhengjun.com.footdemo.config.dao;

import com.mchange.v2.c3p0.ComboPooledDataSource;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.beans.PropertyVetoException;

/**
 * @desc   配置数据库连接
 * @author zhengjun
 * @create at 2018/4/26 10:54
 */

@Configuration
@MapperScan("me.zhengjun.com.footdemo.dao") //配置扫描的dao路径
public class DataSourseConfiguration {

    @Value("${jdbc.driver}")
    private String jdbcDriverClass;

    @Value("${jdbc.url}")
    private String jdbcUrl;

    @Value("${jdbc.user}")
    private String jdbcUserName;

    @Value("${jdbc.password}")
    private String jdbcPassWord;

    @Bean(name = "dataSourse")
    public ComboPooledDataSource createComboPooledDataSource() throws PropertyVetoException {
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        dataSource.setDriverClass(jdbcDriverClass);
        dataSource.setJdbcUrl(jdbcUrl);
        dataSource.setUser(jdbcUserName);
        dataSource.setPassword(jdbcPassWord);
        //关闭连接后不自动commit
        dataSource.setAutoCommitOnClose(false);
        return dataSource;
    }
}

2.新建类SessionFactoryConfiguration配置mybatis的sqlsessionfactory,如下:

package me.zhengjun.com.footdemo.config.dao;

import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;

import java.io.IOException;

import javax.sql.DataSource;

/**
 * @author zhengjun
 * @desc
 * @create at 2018/4/26 11:08
 */

@Configuration
public class SessionFactoryConfiguration {

    @Autowired
    @Qualifier("dataSourse")
    private DataSource dataSourse;

    @Value("${mybatis_config_file}")
    private String myBatisConfigPath;

    @Value("${mapper_path}")
    private String mapperPath;

    @Value("${entity_package}")
    private String entityPackage;

    @Bean(name = "sqlSessionFactory")
    public SqlSessionFactoryBean createSqlSessionFactoryBean() throws IOException {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(myBatisConfigPath));
        PathMatchingResourcePatternResolver patternResolver = new PathMatchingResourcePatternResolver();
        String packageSearchPath = PathMatchingResourcePatternResolver.CLASSPATH_ALL_URL_PREFIX+mapperPath;
        sqlSessionFactoryBean.setMapperLocations(patternResolver.getResources(packageSearchPath));
        sqlSessionFactoryBean.setDataSource(dataSourse);
        sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage);
        return  sqlSessionFactoryBean;
    }
}

3.service配置,在config中新建service包,然后新建TransactionManagementConfigurer 类进行配置如下:

package me.zhengjun.com.footdemo.config.dao.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.transaction.annotation.TransactionManagementConfigurer;
import javax.sql.DataSource;
@Configuration
@EnableTransactionManagement
public class TransactionManagementConfiguration implements TransactionManagementConfigurer {

    @Autowired
    DataSource dataSource;
    @Override
    public PlatformTransactionManager annotationDrivenTransactionManager() {
        return new DataSourceTransactionManager(dataSource);
    }
}

至此整个springboot+mybatis项目的配置就结束了,如果有想用generator自动生成mybatis的请参考我的这篇文章,链接:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值