新网网站空间到期停了 咋续费,软件公司名称推荐,节水网站建设,wordpress如何修改成中文字体目录 Spring可以对日志进行分目录打印
日志持久化#xff08;让日志进行长期的保存#xff09;
MyBatis操作数据库(优秀的持久层框架)
MyBatis的写法
开发规范#xff1a;
单元测试的写法
传递参数 Spring可以对日志进行分目录打印
他的意思是说spring相关只打印INFO…目录 Spring可以对日志进行分目录打印
日志持久化让日志进行长期的保存
MyBatis操作数据库(优秀的持久层框架)
MyBatis的写法
开发规范
单元测试的写法
传递参数 Spring可以对日志进行分目录打印
他的意思是说spring相关只打印INFO级别的标准但是他也能获取到debug级别的日志
日志设置颜色只能控制控制台的颜色idea的功能)
日志持久化让日志进行长期的保存 数据存储在数据库中是一种持久化的方式 日志保存在文件中也是一种持久化的方式 只需要配置文件上加上logging: file: name: 即可注意如果前面有logging需要注意对其是logging下的文件 默认是idea的项目内部生成目录然后内部放日志name既可以设置路径又可以设置名称但是path只能设置路径就算是一个文件名称也不会被人问是文件名称name的文件优先级高于path。 日志分割(企业中通常日志分割是200M,下面这个代码说明到达1KB就进行分割 logging: logback:rollingpolicy:max-file-size: 1KBfile-name-pattern: ${LOG_FILE}.%d{yyyy-MM-dd}.%i logger为什么用static的意义 static就相当于提前把这个创建好了我们在编程中不是每一步都具有意义。 日志的简单写法 使用Lombok的注解Slf4j(他这个对象名字是log) 总结:使用日志可以快速去发现问题和定位问题spring默认情况喜爱使用的是INFO(即普通事件我们可以通过lombok提供的slf4k注解和log对象进行快速的打印日志 MyBatis操作数据库(优秀的持久层框架)
他和Spring没有什么关系只不过是Spring算是把它集成了
配置mybatis的applictaion.yml)
spring:datasource:
# java100对应的意思是创建的数据库的名称url: jdbc:mysql://127.0.0.1:3306/java100?characterEncodingutf8useSSLfalseusername: rootpassword: lcl15604007179driver-class-name: com.mysql.cj.jdbc.Driver
简单的一个接口调用看一看查询能否查询到结果 列子是定义了一个接口然后select访问的用List保存然后通过UserInfoContorller去调用userInfoMapper(实现这个接口去调用这个方法让他调用这个userInfoMapper 发现能查到结果而我们做出更改之后发现它会对名字表的属性和你new的类的属性假如不一致就会给值为null) MyBatis的写法 1.xml 2.注解(例子当前是注解的方式 1.引入Mybatis的依赖引入对应数据库依赖比如mysql 2.配置数据库相关信息 3.定义JAVA对象 4.实现 package com.example.myBatis.mapper;
//ibatis是Mybatis的前身加入Mapper之后mybatis就会告诉Spring,把对象交给Spring管理
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.springframework.boot.autoconfigure.security.SecurityProperties;import java.util.List;
Mapper
public interface UserInfoMapper {
//根据不同注解使用不同方法select是查询语句Select(select*from userInfo)ListUserInfo selectAll();}开发规范 使用MyBatis 抽象类的实现场景 企业建表规范:字段名/表名全部小写 需要三个字段哪怕你只需要一个也必须要有这三个 1.id 2.创建时间 3.更新时间 (逻辑删除 单元测试的写法 选择test package com.example.myBatis.mapper;import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;import java.util.List;import static org.junit.jupiter.api.Assertions.*;
//SpringBootTest,是启动Spring容器我们才能属性注入他内部的东西
SpringBootTest
Slf4j
class UserInfoMapperTest {Autowiredprivate UserInfoMapper userInfoMapper;
// BeforeEach每个测试方法之前的注解BeforeEachvoid setUp() {log.info(setUp);}
// AfterEach每个测试方法之后的注解AfterEachvoid tearDown() {log.info(setdown);}Testvoid selectAll() {ListUserInfo listuserInfoMapper.selectAll();log.info(list.toString());}
} 使用MyBatis可能遇到的问题 传递参数
如果只有一个参数,当然此时你传递的就可以不是死的1了 如果只有一个参数那么SQL的名称可以任意的合法但是有病#{}代表要进行传参 这个意思是把id 重命名为userId当然只有一个参数他也不用一定去进行重命名这个操作)