Mybatis配置代码
1. Log4j的配置
步骤1 导入包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
language-pom复制代码
步骤2 log4j.properties
#将等级为DEBUG的日志信息输出到console和file两个目的地
log4j.rootLogger=DEBUG,console,file
#控制台输出的相关设置
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=【%c】-%m%n
#文件输出的相关配置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=【%p】[%d{yy-MM-dd}【%c】%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
language-properties复制代码
步骤3 设置使用log4j
4 使用log4j
static Logger logger = Logger.getLogger(xx.class)
logger.info("进入到了log4j");
language-java复制代码
1. Log4j的配置
步骤1 导入包
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
language-pom复制代码
步骤2 log4j.properties
#将等级为DEBUG的日志信息输出到console和file两个目的地
log4j.rootLogger=DEBUG,console,file
#控制台输出的相关设置
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Target=System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=【%c】-%m%n
#文件输出的相关配置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/kuang.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=【%p】[%d{yy-MM-dd}【%c】%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
language-properties复制代码
步骤3 设置使用log4j
language-xml复制代码
— ###4 使用log4j
static Logger logger = Logger.getLogger(xx.class)
logger.info("进入到了log4j");
language-java复制代码
第二章 配置模式
1.1 配置
- application.yaml
- 全局配置文件
<?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>
</configuration>
language-xml复制代码
- mapper 映射文件
language-xml复制代码
1.2 使用
- 定义实体类
package com.fh.oa.entity;
import lombok.Data;
@Data
public class Account {
private Long id;
private String userId;
private Integer money;
}
language-java复制代码
- 定义接口
package com.fh.oa.dao;
import com.fh.oa.entity.Account;
public interface AccountDao {
// 根据 id 获取用户
public Account getAcct(Long id);
}
language-java复制代码
- mapper
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com/fh/oa/dao/AccountDao">
<!-- 查询账号,根据ID -->
<select id="getAcct" resultType="com/fh/oa/entity/Account">
select * from account_tab where id=#{id}
</select>
</mapper>
language-xml复制代码
第三章 MyBatis-Plus简单使用
1. pom.xml
<!--MyBatis Plus-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
<!--代码生成器依赖-->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-generator</artifactId>
<version>3.4.1</version>
</dependency>
<!--模版引擎-->
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity-engine-core</artifactId>
<version>2.0</version>
</dependency>
<!--MySql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.12</version>
<scope>runtime</scope>
</dependency>
language-xml复制代码
2. 自动代码生成类
package com.fh.oateat;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.generator.AutoGenerator;
import com.baomidou.mybatisplus.generator.config.DataSourceConfig;
import com.baomidou.mybatisplus.generator.config.GlobalConfig;
import com.baomidou.mybatisplus.generator.config.PackageConfig;
import com.baomidou.mybatisplus.generator.config.StrategyConfig;
import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
public class AutoMapper {
public static void main(String[] args) {
// 创建 AutoGenerator, MP中对象
AutoGenerator ag = new AutoGenerator();
// 设置全局配置
GlobalConfig gc = new GlobalConfig();
// 设置代码的生成位置,磁盘的目录
String path = System.getProperty("user.dir");
gc.setOutputDir(path + "/src/main/java");
// 设置生成的类的名称 (命名规则)所有的Dao类都是Mapper结尾的,例如UserMapp;
gc.setMapperName("%sMapper");
gc.setServiceName("%sService");
gc.setServiceImplName("%sServiceImple");
gc.setControllerName("%sController");
// 设置作者
gc.setAuthor("hjxstart");
// 设置主键id 的设置,可能需要安装数据情况进行更改
gc.setIdType(IdType.AUTO);
// 把GlobalConfig 复制给 AutoGenerator
ag.setGlobalConfig(gc);
// 设置数据源 DataSource
DataSourceConfig ds = new DataSourceConfig();
// 设置驱动
ds.setDriverName("com.mysql.cj.jdbc.Driver");
// 设置url
ds.setUrl("jdbc:mysql://localhost:3306/oa?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true");
// 设置数据库的用户名
ds.setUsername("root");
// 设置密码
ds.setPassword("hadoop");
// 把 DataSourceConfig 赋值给 AutoGenerator
ag.setDataSource(ds);
// 设置Package信息
PackageConfig pc = new PackageConfig();
// 设置模块名称,相当于包名,在这个包的下面有 mapper, service, controller
pc.setModuleName("v1");
// 设置夫包名,order 就在父包的下面生成
pc.setParent("com.fh.oateat");
ag.setPackageInfo(pc);
// 设置策略
StrategyConfig sc = new StrategyConfig();
// 设置支持驼峰的命名规则
sc.setNaming(NamingStrategy.underline_to_camel);
sc.setColumnNaming(NamingStrategy.underline_to_camel);
ag.setStrategy(sc);
// 执行代码的生成
ag.execute();
}
}
language-java复制代码
3. Application
@MapperScan("com.fh.oateat.v1.mapper") // 该注解可以省略在每个mapper接口的注解
@SpringBootApplication
language-java复制代码
4. application.yaml
spring:
datasource:
url: jdbc:mysql://localhost:3306/oa?serverTimezone=UTC&characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: hadoop # hadoop service
driver-class-name: com.mysql.cj.jdbc.Driver
mybatis-plus:
configuration:
// 控制台输出对数据库的操作
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
language-yaml复制代码
5. 分页插件
@Configuration
public class MybatisPlusConfig {
//分页查询 mybatis-plus
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setDbType(DbType.MYSQL);
paginationInnerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
}
language-java复制代码
6. 创建好数据库即可
- 会根据数据库的表自动生成entity,mapper,service,controller
7. Controller测试
第二章 逻辑删除
1. 在实体类和数据库添加enable字段
private Integer enabled;
language-java复制代码
2. 添加注解,实现局部逻辑删除
@TableLogic
private Integer enabled;
language-java复制代码
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以邮件至 hjxstart@126.com