目录

  1 目录结构

  2 全局配置文件

    2.1 application.properties(resources下,自动生成)

    2.2 mybatis-config.xml(resources下,手动创建)

    2.3 config文件夹(java包下,手动创建)

      2.3.1 mapper文件夹

      2.3.2 service文件夹

  3 代码流程

    3.1 第一步:Entity层

    3.2 第二步:Dao层

    3.3 第三步:Mapper配置文件

    3.4 第四部:测试Dao层类

    3.4 第五步:service层

    3.5 第六步:controller层

  4 运行效果

1 目录结构

   springBoot+Mybatis模板代码

 

    注意:

    1)Java包下的子文件夹需要手动创建

     2)resources下的mapper文件夹和mybatis-config.xml文件需要手动创建。

2 全局配置文件

  全局配置文件主要包括数据库配置、服务端口配置、事务配置等。

2.1 application.properties(resources下,自动生成)

  application.properties是全局配置文件,通过修改此文件可以实现自定义配置,如端口、根路径等。

本模板仅配置数据源配置,配置如下:

  

#DataSource
#数据库驱动(高版本mysql配置)
jdbc.driver=com.mysql.cj.jdbc.Driver
#数据库链接(高版本mysql配置)
jdbc.url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone = GMT
#数据库用户名
jdbc.username=root
#数据库密码
jdbc.password=1234

#Mybatis
mybatis_config_file=mybatis-config.xml
mapper_path=/mapper/**.xml
# 要与包名一致
type_alias_package=com.example.demo.entity

2.2 mybatis-config.xml(resources下,手动创建)

  此文件需要手动创建。名称可以自定义,需要与application.properties中一致。

  配置如下:

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

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

        <!-- 开启驼峰命名转换:Table{create_time} -> Entity{createTime} -->
        <setting name="mapUnderscoreToCamelCase" value="true" />
    </settings>
</configuration>

2.3 config文件夹(java包下,手动创建)

  本项目中,config文件夹下包含两个子文件夹mapper和service

2.3.1 mapper文件夹

  mapper文件夹中为数据源的相关配置,主要实现全局配置文件Application.properties中的配置生效。

  1)DataSourceConfiguration(数据配置类)

    代码如下:

      

package com.example.demo.config.mapper;


import java.beans.PropertyVetoException;

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 com.mchange.v2.c3p0.ComboPooledDataSource;

/**
 * 配置datasource到ioc容器里面
 *
 * @author xiangze
 *
 */
@Configuration
// 配置mybatis mapper的扫描路径
@MapperScan("com.example.demo.dao")
public class DataSourceConfiguration {
    @Value("${jdbc.driver}")
    private String jdbcDriver;
    @Value("${jdbc.url}")
    private String jdbcUrl;
    @Value("${jdbc.username}")
    private String jdbcUsername;
    @Value("${jdbc.password}")
    private String jdbcPassword;

    /**
     * 生成与spring-dao.xml对应的bean dataSource
     *
     * @return
     * @throws PropertyVetoException
     */
    @Bean(name = "dataSource")
    public ComboPooledDataSource createDataSource() throws PropertyVetoException {
        // 生成datasource实例
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
        // 跟配置文件一样设置以下信息
        // 驱动
        dataSource.setDriverClass(jdbcDriver);
        // 数据库连接URL
        dataSource.setJdbcUrl(jdbcUrl);
        // 设置用户名
        dataSource.setUser(jdbcUsername);
        // 设置用户密码
        dataSource.setPassword(jdbcPassword);
        // 配置c3p0连接池的私有属性
        // 连接池最大线程数
        dataSource.setMaxPoolSize(30);
        // 连接池最小线程数
        dataSource.setMinPoolSize(10);
        // 关闭连接后不自动commit
        dataSource.setAutoCommitOnClose(false);
        // 连接超时时间
        dataSource.setCheckoutTimeout(10000);
        // 连接失败重试次数
        dataSource.setAcquireRetryAttempts(2);
        return dataSource;
    }
}
DataSourceConfiguration

相关文章:

  • 2021-08-17
  • 2021-05-24
  • 2021-04-24
  • 2021-04-20
  • 2021-06-19
  • 2021-08-04
  • 2021-11-24
  • 2021-07-23
猜你喜欢
  • 2022-12-23
  • 2022-02-10
  • 2021-04-01
  • 2022-12-23
  • 2021-06-07
  • 2021-12-16
  • 2021-11-25
相关资源
相似解决方案