pom.xml相关的配置说明。

配置文件看着比价多,在创建spring-boot项目的时候,自需要添加web,mysql,mybatis三个选项即可

<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xiaoeyu</groupId>
<artifactId>springboot2</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springboot2</name>
<description>Demo project for Spring Boot</description> <properties>
<java.version>1.8</java.version>
</properties> <dependencies>
<!--web相关-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--mybatis相关-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
<!--mysql相关-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--手动添加的,逆向工程,用于根据数据库中的表生成实体类,dao接口与对应的mapper.xml文件-->
<plugin>
<!--逆向工程:需要的jar包-->
<groupId>org.mybatis.generator</groupId>
<artifactId>mybatis-generator-maven-plugin</artifactId>
<version>1.3.7</version>
<configuration>
<overwrite>true</overwrite>
<!--如何生成的配置文件地址-->
<configurationFile>${basedir}/src/main/resources/generatorConfig.xml</configurationFile>
</configuration>
<!--生成时与数据库连接需要的驱动-->
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.47</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build> </project>

逆向工程 :https://www.cnblogs.com/xiaoeyu/p/10402694.html  详细说明,用于生成与数据库中的表相关的类

创建spring-boot项目时 生成的test测试类说明

  生成的测试类名: 项目+ApplicationTests.java。运行该测试类有几个坑要填好

package com.xiaoeyu.springboot2;

import com.xiaoeyu.springboot2.dao.EmpMapper;
import com.xiaoeyu.springboot2.pojo.Emp;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; //spring-boot自动生成的测试类,与SSM中spring测试类用的包好像不同
@RunWith(SpringRunner.class)
@SpringBootTest
public class Springboot2ApplicationTests { //不用web,直接通过dao层的接口方法调用测试与数据库的连接是否畅通 EmpMapper为dao层的接口,@Autowired会把 根据Mapper.xml自动生成实现类,注入进来
@Autowired
private EmpMapper empMapper; @Test
public void contextLoads() {
//根据id查询,对象
Emp emp = empMapper.selectByPrimaryKey(7369);
//打印对应的一个信息,有数据,连接成功
System.out.println(emp.getHiredate());
} }
  1. 启动类,Springboot2Application.java

    package com.xiaoeyu.springboot2;
    
    import org.mybatis.spring.annotation.MapperScan;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
    //扫描dao所在的包,在测试的时候,不然找不到要注入接口的实体类。
    //dao的实体类是根据dao中的接口与dao对应的mapper.xml由spring生成的。这里要指定dao层接口所在的路径,并在配置文件中指定mapper.xml的路径
    @MapperScan(value = "com.xiaoeyu.springboot2.dao")
    public class Springboot2Application {
    public static void main(String[] args) {
    SpringApplication.run(Springboot2Application.class, args);
    }
    }
  2. application.yml配置文件。指定对应的mapper.xml
    spring:
    datasource:
    # mysql高版本驱动,为格林时区,+8到北京时区
    url: jdbc:mysql://localhost:3306/bcs?serverTimezone=GMT%2B8
    username: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    profiles:
    active: dev server:
    port: 80
    servlet:
    context-path: /springboot
    mybatis:
    # 在测试类中,只用自动装配。被注入的类是由dao里面的接口与mapper.xml生成的。这里用来指定dao里面的接口对应的mapper.xml文件的位置
    # 不然在运行测试类的时候,接口中的方法没有实现。
    mapper-locations: classpath:com/xiaoeyu/springboot2/mapper/*.xml
    # 日志设置
    logging:
    level:
    com.xiaoeyu.springboot2.dao: debug
    org.springframework: info

springboot中,用于处理日志信息的配置文件。相关功能的解释

<?xml version="1.0" encoding="UTF-8"?>
<!--本日志文件存在于springboot项目中,并且配置文件名为:logback-spring.xml 被spring识别-->
<configuration>
<!--用于日志环境切换,根据主配置文件中的spring.profiles.active指定的不同的环境,把指定的环境中的日志输出到不同的文件中-->
<!--spring.profiles.active设置的值与<springProfile name="xxxx">的xxx进行匹配,选择日志输出,不管active指定的配置环境是否存在-->
<springProfile name="dev">
<property name="LOG_HOME" value="d:/logs/dev" />
</springProfile>
<springProfile name="prd">
<property name="LOG_HOME" value="d:/logs/prd" />
</springProfile> <!--定义日志保存的路径,根据日志环境记录的话,这个就有点多余,先注释掉-->
<!--<property name="LOG_HOME" value="d:/logs" />--> <!--定义一个控制台输出器,名为console-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--按pattern指定的格式输出日志,编码为UTF-8-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender> <!--定义一个日滚动(每天生成一份)的日志文件,就是把日志生成文件,存在硬盘中,命名为精确到天的日期,则一天只保留一个日志文件-->
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--按pattern指定的格式输出日志,编码为UTF-8-->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{yyyy-MM-dd HH:mm:ss} %-5level [%thread] %logger{30} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder> <!-- 定义保存的文件名 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--%d{yyyy-MM-dd}:日志名字的一部分,则一天只能存在一个这样的日志,重新生成的时候,会去掉之前存在的同名的-->
<fileNamePattern>${LOG_HOME}/mysprintboot_%d{yyyy-MM-dd}.log</fileNamePattern>
<!--日志最多保存90天,一天的保存一份的话,就是最多保存90份-->
<maxHistory>90</maxHistory>
</rollingPolicy> <!-- 在日滚动文件中,强制只保存错误xxx级别以上信息 -->
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level><!--xxx级别的定义-->
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender> <!-- 定义日志全局最低输出级别是INFO,满足这个才会生成日志,根据配置显示在控制台或者生成文件保存在硬盘 -->
<root level="INFO">
    <appender-ref ref="console" /><!--输出到定义的控制台-->
    <appender-ref ref="file" /><!--输出到定义的日滚动配置-->   </root> </configuration>

spring-boot整合mybatis(web mysql logback配置)的更多相关文章

  1. 太妙了!Spring boot 整合 Mybatis Druid,还能配置监控?

    Spring boot 整合 Mybatis Druid并配置监控 添加依赖 <!--druid--> <dependency> <groupId>com.alib ...

  2. Spring Boot整合Mybatis并完成CRUD操作

    MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...

  3. spring boot 整合 mybatis 以及原理

    同上一篇文章一样,spring boot 整合 mybatis过程中没有看见SqlSessionFactory,sqlsession(sqlsessionTemplate),就连在spring框架整合 ...

  4. Spring Boot整合MyBatis(非注解版)

    Spring Boot整合MyBatis(非注解版),开发时采用的时IDEA,JDK1.8 直接上图: 文件夹不存在,创建一个新的路径文件夹 创建完成目录结构如下: 本人第一步习惯先把需要的包结构创建 ...

  5. Spring Boot系列(三):Spring Boot整合Mybatis源码解析

    一.Mybatis回顾 1.MyBatis介绍 Mybatis是一个半ORM框架,它使用简单的 XML 或注解用于配置和原始映射,将接口和Java的POJOs(普通的Java 对象)映射成数据库中的记 ...

  6. Spring Boot 整合mybatis时遇到的mapper接口不能注入的问题

    现实情况是这样的,因为在练习spring boot整合mybatis,所以自己新建了个项目做测试,可是在idea里面mapper接口注入报错,后来百度查询了下,把idea的注入等级设置为了warnin ...

  7. Spring Boot整合Mybatis报错InstantiationException: tk.mybatis.mapper.provider.base.BaseSelectProvider

    Spring Boot整合Mybatis时一直报错 后来发现原来主配置类上的MapperScan导错了包 由于我使用了通用Mapper,所以应该导入通用mapper这个包

  8. Spring Boot整合Mybatis完成级联一对多CRUD操作

    在关系型数据库中,随处可见表之间的连接,对级联的表进行增删改查也是程序员必备的基础技能.关于Spring Boot整合Mybatis在之前已经详细写过,不熟悉的可以回顾Spring Boot整合Myb ...

  9. Spring Boot 整合 Mybatis 实现 Druid 多数据源详解

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “清醒时做事,糊涂时跑步,大怒时睡觉,独处时思考” 本文提纲一.多数据源的应用场景二.运行 sp ...

  10. Spring boot整合Mybatis

    时隔两个月的再来写博客的感觉怎么样呢,只能用“棒”来形容了.闲话少说,直接入正题,之前的博客中有说过,将spring与mybatis整个后开发会更爽,基于现在springboot已经成为整个业界开发主 ...

随机推荐

  1. 记一次VM虚拟机Ubuntu无法联网问题

    突然ubuntu获取不到ipv4地址,手动设置静态ip也ping不通本机, 在网上试了一堆的方法也不行,就怀疑是vm设置问题了.因为 作业环境我的VM需要经常性的改变桥接的网卡,所以检查了一 下这里, ...

  2. Testlink与MantisBT集成

    Testlink与MantisBT集成 关于两者集成的文章网上有很多,但是有些文章可能是作者写的时候自己不理解或有纰漏,有些文章写得是不够详细导致在配置中遗漏什么导致不成功.经过一天的不停尝试,终于完 ...

  3. Rancher2.0与DataDog集成部署

    目录 一.简要介绍 二.注意事项 三.部署过程 四.运行截图 五.参考链接 一.简要介绍: 看了Rancher中文官网上的一篇关于DataDog部署的文章,自己尝试了一下,没有成功,主要是自己对Dat ...

  4. UI组件--element-ui合计行在横向滚动条下面的解决方法

    使用element-ui合计功能, 因列数较多, 产生横向滚动条: 但是合计行却在滚动条下面, 拖动滚动条合计行不会跟着横向滚动. 在当前页面添加以下样式: <style lang='less' ...

  5. 第 9 章 数据管理 - 074 - 如何安装和配置 Rex-Ray?

    Rex-Ray 安装和配置方法 Rex-Ray 是一个优秀的 Docker volume driver 安装和配置方法 Rex-Ray 以 standalone 进程的方式运行在 Docker 主机上 ...

  6. locate 和 find

    因工作需求,需要查找到系统内是否有 密钥文件 id_rsa 或 id_dsa;想到两个工具find 和 locate find 可以对指定范围内的文件进行实时查找,但是 考虑到这种方法非常耗时. lo ...

  7. 在Mac os 10.11 下编译Berkeley caffe

    安装各种补丁和组件,缺啥装啥. python 采用 2.7.13 最新版. 安装工具  homebrew , pip 很繁琐,但是没难度. 由于本人macbook pro不支持CUDA,所以不用安装. ...

  8. word中一页中添加两种不同的页码

    ,在文档编写的过程中,可能一个页面需要编写两个不同的页码,举个例子,在页脚有一个页码是整个文档的页码,页眉有一个页码,是每个章节的页码: 设置如下: 此处选中这个图标是为了能够看到分节符和其他的符号 ...

  9. Java集合框架相关知识整理

    1.常见的集合有哪些? Collection接口和Map接口是所有集合框架的父接口    Collection接口的子接口包括:Set接口和List接口    Map接口的实现类主要有:HashMap ...

  10. linux 一键安装lnmp环境

    ①,登陆后运行:screen -S lnmp ②.如果提示screen: command not found 命令不存在可以执行:     yum install wget  ③. 执行命令:wget ...