FluentMybatis 项目构建、代码生成(一) | FluentMybatis实践(1)

简介: FluentMybatis 项目构建、代码生成(一) | FluentMybatis实践

表构建

在数据库创建一张测试表,表比较简单,先试试看。sql如下:

CREATE TABLE `test_fluent_mybatis` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键',
  `name` varchar(255) DEFAULT NULL COMMENT '姓名',
  `age` int DEFAULT NULL COMMENT '年龄',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `del_flag` int DEFAULT NULL COMMENT '是否删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;

代码生成工具类

注意:放到测试代码包中。结构如下图:

image.png

package com.hy.fmp;
import cn.org.atool.generator.FileGenerator;
import cn.org.atool.generator.annotation.Table;
import cn.org.atool.generator.annotation.Tables;
import org.junit.jupiter.api.Test;
public class EntityGeneratorDemo {
  // 数据源 url
  static final String url =
      "jdbc:mysql://192.168.0.16:3306/test?useUnicode=true&characterEncoding=utf8";
  // 数据库用户名
  static final String username = "root";
  // 数据库密码
  static final String password = "123456";
  @Test
  public void generate() throws Exception {
    // 引用配置类,build方法允许有多个配置类
    FileGenerator.build(Empty.class);
  }
  @Tables(
      // 设置数据库连接信息
      url = url,
      username = username,
      password = password,
      // 设置entity类生成src目录, 相对于 user.dir
      srcDir = "src/main/java",
      // 设置entity类的package值
      basePack = "com.hy.fmp.fluent",
      // 设置dao接口和实现的src目录, 相对于 user.dir
      daoDir = "src/main/java",
      // 设置哪些表要生成Entity文件
      tables = {@Table(value = {"test_fluent_mybatis"})})
  static class Empty { // 类名随便取, 只是配置定义的一个载体
  }
}


代码生成工具类代码,先按照官方给的简单样例来,如下:



package com.hy.fmp;
import cn.org.atool.generator.FileGenerator;
import cn.org.atool.generator.annotation.Table;
import cn.org.atool.generator.annotation.Tables;
import org.junit.jupiter.api.Test;
public class EntityGeneratorDemo {
  // 数据源 url
  static final String url =
      "jdbc:mysql://192.168.0.16:3306/test?useUnicode=true&characterEncoding=utf8";
  // 数据库用户名
  static final String username = "root";
  // 数据库密码
  static final String password = "123456";
  @Test
  public void generate() throws Exception {
    // 引用配置类,build方法允许有多个配置类
    FileGenerator.build(Empty.class);
  }
  @Tables(
      // 设置数据库连接信息
      url = url,
      username = username,
      password = password,
      // 设置entity类生成src目录, 相对于 user.dir
      srcDir = "src/main/java",
      // 设置entity类的package值
      basePack = "com.hy.fmp.fluent",
      // 设置dao接口和实现的src目录, 相对于 user.dir
      daoDir = "src/main/java",
      // 设置哪些表要生成Entity文件
      tables = {@Table(value = {"test_fluent_mybatis"})})
  static class Empty { // 类名随便取, 只是配置定义的一个载体
  }
}

执行代码生成工具,看看都生成了些什么。


image.png



可以看到生成的包如下。



image.png


解决类找不到问题

这里有个坑,看下面的截图


image.png



其实官方给了解决方法,只是没有对此说明。


image.png



简而言之就是你需要使用maven编译一下,所以我们compile一下。


image.png



编译结束后我们可以在target中,找到报错包位置中的编译文件。


image.png



之前报错的类已经不再报错了。完美。


image.png



总结

OK,现在项目和表代码都生成完成了,下一篇讲一下简单的操作。


文章链接:FluentMybatis 项目构建、代码生成(二) | FluentMybatis实践_阿良的博客-CSDN博客


Github代码链接: GitHub仓库


如果本文对你有帮助,请点个赞支持一下吧。


相关文章
|
6月前
|
关系型数据库 Java 数据库连接
如何利用Mybatis-Plus自动生成代码(超详细注解)
如何利用Mybatis-Plus自动生成代码(超详细注解)
1849 1
|
Java 测试技术 Spring
SpringBoot自动装配—简化依赖管理的利器
SpringBoot自动装配—简化依赖管理的利器
111 0
|
6月前
|
SQL 设计模式 Java
干翻Mybatis源码系列之第十篇:Mybatis拦截器基本开发、基本使用和基本细节分析
干翻Mybatis源码系列之第十篇:Mybatis拦截器基本开发、基本使用和基本细节分析
|
XML 设计模式 API
扩展mybatis-generator自动生成代码项目
通用的新增方法 通用的分页方法 通用的修改方法
161 0
【SSM框架】Mybatis详解04(源码自取),构建完整项目并且测试框架
我们已经学会用Maven快速构建管理项目了,这篇文章就正式构建一个完整的项目。 通过这个案例可以复习maven的使用,自行创建项目,使用MyBatis框架并进行测试。
【SSM框架】Mybatis详解04(源码自取),构建完整项目并且测试框架
|
SQL Java 关系型数据库
FluentMybatis 项目构建、代码生成(一) | FluentMybatis实践(2)
FluentMybatis 项目构建、代码生成(一) | FluentMybatis实践
FluentMybatis 项目构建、代码生成(一) | FluentMybatis实践(2)
|
druid 关系型数据库 MySQL
FluentMybatis 项目构建、代码生成(二) | FluentMybatis实践
FluentMybatis 项目构建、代码生成(二) | FluentMybatis实践
FluentMybatis 项目构建、代码生成(二) | FluentMybatis实践
FluentMybatis Where语法(一) | FluentMybatis实践(2)
FluentMybatis Where语法(一) | FluentMybatis实践
FluentMybatis Where语法(一) | FluentMybatis实践(2)
FluentMybatis Where语法(一) | FluentMybatis实践(3)
FluentMybatis Where语法(一) | FluentMybatis实践
FluentMybatis Where语法(一) | FluentMybatis实践(3)
下一篇
无影云桌面