zoukankan      html  css  js  c++  java
  • SpringBoot-配置MyBatis-yml方式

    Druid的数据源配置:https://www.cnblogs.com/KuroNJQ/p/11171263.html

    1.导入依赖

    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
        <version>2.0.1</version>
    </dependency>

    2.我有一个application-dev.yml和一个applicaion.yml

    分别是:

    
    
    spring:
    datasource:
    url: jdbc:mysql://localhost:3306/wrist?serverTimezone=UTC&useUnicode=true&characterEncoding=utf8&useSSL=false
    username: root
    password:
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
    #初始化大小
    initialSize: 5
    #最小值
    minIdle: 5
    #最大值
    maxActive: 20
    #最大等待时间,配置获取连接等待超时,时间单位都是毫秒ms
    maxWait: 60000
    #配置间隔多久才进行一次检测,检测需要关闭的空闲连接
    timeBetweenEvictionRunsMillis: 60000
    #配置一个连接在池中最小生存的时间
    minEvictableIdleTimeMillis: 300000
    validationQuery: SELECT 1 FROM DUAL
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    poolPreparedStatements: true
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,
    #'wall'用于防火墙,SpringBoot中没有log4j,我改成了log4j2
    filters: stat,wall,log4j2
    #最大PSCache连接
    maxPoolPreparedStatementPerConnectionSize: 20
    useGlobalDataSourceStat: true
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
    # 配置StatFilter
    web-stat-filter:
    #默认为false,设置为true启动
    enabled: true
    url-pattern: "/*"
    exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
    #配置StatViewServlet
    stat-view-servlet:
    url-pattern: "/druid/*"
    #允许那些ip
    allow: 127.0.0.1
    login-username: admin
    login-password: 123456
    #禁止那些ip
    deny: 192.168.1.102
    #是否可以重置
    reset-enable: true
    #启用
    enabled: true
    mybatis:
    # model的包 type-aliases-package: ssm.app.model configuration:
      # 开启驼峰uName自动映射到u_name map-underscore-to-camel-case: true # 打印sql logging: level: ssm.app.mapper : debug
    spring:
      profiles:
        active: dev

    3.mybatis已经可以用了,下面是mapper接口

    @Mapper
    public interface CountryMapper {
    
        @Select("select * from Country")
        public List<Country> selectAll();
    
        @Select("select * from Country where id = #{id}")
        public Country selectCountryById(long id);
    }

    service:

    @Service
    public class CountryServiceImpl implements CountryService {
        @Autowired
        private CountryMapper countryMapper;
    
        @Override
        public List<Country> getCountriesFromDb() {
            return countryMapper.selectAll();
        }
    
        @Override
        public Country getCountryFromDbById(long id) {
            return countryMapper.selectCountryById(id);
        }
    }

    controller:

    @RestController
    public class CountryController extends BaseController {
        private final CountryService countryServiceImpl;
    
        @Autowired
        public BaseController(CountryService countryServiceImpl) {
            this.countryServiceImpl = countryServiceImpl;
        }
    
        @RequestMapping("/getAllCountries")
        public List<Country> getAllCountries() {
            return countryServiceImpl.getCountriesFromDb();
        }
    }

    ok!还有就是记得注意yml的层次关系,别写错了,QAQ!

  • 相关阅读:
    [c++]在类中定义常量的几个做法
    VC6中使用高版本系统API的方法
    Delphi编程中实现窗口分割
    Win32 SDK窗口程序代码(含详细注释)
    [c++]在C++中定义常量的两种方法的比较
    VC6里的_WIN32_WINNT宏
    [VC]自己实现TRACE功能
    [delphi]保证程序只运行一个实例
    转载:C# 设置文件夹权限(代码简单)
    VC:动态链接库
  • 原文地址:https://www.cnblogs.com/KuroNJQ/p/11184178.html
Copyright © 2011-2022 走看看