springboot集成mybatis

1. 创建spring项目

#### 1.1

1.1 勾选需要的jar包

在这里插入图片描述
在这里插入图片描述

1.2 项目结构

在这里插入图片描述

src
	--main
		--java
		--resources
			--static		//静态资源目录
			--templates		//模板页面目录,如:jsp ,ftl
			--application.properties/application.yml	//默认配置文件

2. 资源文件

2.1 静态文件

目录
resource/static

2.2 webjars(jquery依赖)

导包

<dependency>
    <groupId>org.webjars</groupId>
    <artifactId>jquery</artifactId>
    <version>3.4.1</version>
</dependency>

引入jquery

<script src="/webjars/jquery/3.4.1/jquery.js"></script>
2.3.设置首页

resources/index.html

2.4 设置图标

resources/favicon.ico

3.配置拦截器

3.1 定义拦截器
@Component
public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("卡住了.......");
        return true;
    }
}
3.2 注册拦截器
@SpringBootApplication
public class ApplicationConfig implements WebMvcConfigurer {

    @Autowired
    private MyHandlerInterceptor myHandlerInterceptor;
    /**
     * 注册拦截器
     * @param registry :拦截器的注册器
     */
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(myHandlerInterceptor).addPathPatterns("/**").excludePathPatterns("/login");
    }

4.添加视图控制器

@Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/xx").setViewName("hello2.html");
    }

5.配置datasource

导入依赖

		<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.20</version>
        </dependency>
5.1 配置四大属性
spring:
  datasource:
    username: root
    password: 123456
    url: jdbc:mysql:///ssm
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource

6. 集成MyBatis

导入依赖

		<dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.1.1</version>
        </dependency>
6.1 配置mybatis
mybatis:
  mapper-locations: classpath:cn/xx/mapper/*Mapper.xml
6.2 配置Mapper接口扫描包
@SpringBootApplication
@MapperScan("cn.itsource.web.controller.mapper")
public class ApplicationConfig {
   ...
}

7.事务

开启事务

@SpringBootApplication
@MapperScan("cn.itsource.web.controller.mapper")
@EnableTransactionManagement
public class ApplicationConfig{
...}

service层

@Transactional
@Service
public class EmployeeServiceImpl

完善各层

在这里插入图片描述

resource

在这里插入图片描述
启动项目
访问端口
集成完毕

8.项目打包

导入打包插件

<build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
点击package完成打包

在这里插入图片描述
在这里插入图片描述

外部运行

找到项目中target的根文件夹,打开控制台
在这里插入图片描述
在控制台输入命令java -jar,将jar文件拖入控制台,运行命令
在这里插入图片描述
成功后运行端口
外部运行成功

9 多环境配置切换

可以配置在一个yml中
也可以配置在多个yml中

spring:
  profiles:
    active: test	#激活(选择)环境test
---
spring:
  profiles: dev		#指定环境名字dev
server:
  port: 9999
---
spring:
  profiles: test	#指定环境名字test
server:
  port: 8888

注意:开在外部指定配置:java -jar spring-boot-02-config-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev

10.日志

10.1 基本使用
private Logger logger = LoggerFactory.getLogger(MySpringBootTest.class);

...
 logger.error("我是一个error日志.....");
 logger.warn("我是一个warn日志.....");
 logger.info("我是一个info日志.....");

logger.debug("我是一个debug日志.....");
logger.trace("我是一个trace日志.....");
10.2 基于Lombok打印

导入依赖

 	<dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.16.10</version>
      <scope>provided</scope>
    </dependency>

安装Lombok的idea插件
在这里插入图片描述
打印日志

@RestController
@Slf4j
public class HelloController{
	...
		log.trace("全部信息...");
		log.debug("调试信息...");
		log.info("详细信息...");
		log.warn("警告信息...");
		log.error("错误信息...");
}

配置文件logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 定义常量 : 日志格式 -->
    <property name="CONSOLE_LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS} ----> [%thread] ---> %-5level %logger{50} - %msg%n"/>

    <!--ConsoleAppender 用于在屏幕上输出日志-->
    <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
        <!--定义控制台输出格式-->
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>

    <!--打印到文件-->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">

        <file>logs/springboot.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
            <fileNamePattern>logs/springboot-%d{yyyyMMdd}-%i.log.gz</fileNamePattern>
            <maxFileSize>1KB</maxFileSize>
            <maxHistory>30</maxHistory>
            <!--总上限大小-->
            <totalSizeCap>5GB</totalSizeCap>
        </rollingPolicy>
        <!--定义控制台输出格式-->
        <encoder>
            <pattern>${CONSOLE_LOG_PATTERN}</pattern>
            <!-- 设置字符集 -->
            <charset>UTF-8</charset>
        </encoder>
    </appender>


    <!--root是默认的logger 这里设定输出级别是debug-->
    <root level="info">
        <!--定义了两个appender,日志会通过往这两个appender里面写-->
        <appender-ref ref="stdout"/>
        <appender-ref ref="file"/>
    </root>

    <!--如果没有设置 additivity="false" ,就会导致一条日志在控制台输出两次的情况-->
    <!--additivity表示要不要使用rootLogger配置的appender进行输出-->
    <logger name="cn.xx" level="error" additivity="false">
        <appender-ref ref="stdout"/>
        <appender-ref ref="file"/>
    </logger>

</configuration>

11.Thymeleaf

导入依赖

		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>

创建模板 resources/templates/index.html

<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>成功!</h1>
    <!--使用语法th:text 将div里面的文本内容设置为 -->

    <div th:text="${msg}">这是显示欢迎信息</div>
</body>
</html>

controller层

@Controller
public class HelloController {
    @RequestMapping("/index")
    public String hello(Model model){
        model.addAttribute("msg","hello!" );
        return "hello";
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值