Java Fluent Mybatis怎么构建项目与实现代码生成
导读:这篇文章主要介绍了Java Fluent Mybatis怎么构建项目与实现代码生成的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java Fluent Mybatis怎么构建项目与实现代码生成文章都会有所收获,...
这篇文章主要介绍了Java Fluent Mybatis怎么构建项目与实现代码生成的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java Fluent Mybatis怎么构建项目与实现代码生成文章都会有所收获,下面我们一起来看看吧。
特性
看一下官方给出的特性图
给出对几个特性乍一看还是很全面的,其中比较吸引我的是两点。
1、从图中给出的语法,和sql十分相近,不仔细看还以为是直接sql语句扔了上来。看上去就比较实用。
2、No xml& mapper,虽然mybatis-plus已经做到实用 IService接口实现大部分的sql操作
项目搭建
springboot搭建一项目的过程就不过多赘述了,这里说下我实用的springboot版本
parent>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-starter-parent/artifactId>
version>
2.5.5/version>
relativePath/>
!--lookupparentfromrepository-->
/parent>
代码结构如下:
maven依赖引入-fluent-mybatis
properties>
fluent-mybatis.version>
1.8.7/fluent-mybatis.version>
/properties>
dependencies>
!--引入fluent-mybatis运行依赖包,scope为compile-->
dependency>
groupId>
com.github.atool/groupId>
artifactId>
fluent-mybatis/artifactId>
version>
${
fluent-mybatis.version}
/version>
/dependency>
!--引入fluent-mybatis-processor,scope设置为provider编译需要,运行时不需要-->
dependency>
groupId>
com.github.atool/groupId>
artifactId>
fluent-mybatis-processor/artifactId>
scope>
provided/scope>
version>
${
fluent-mybatis.version}
/version>
/dependency>
/dependencies>
完整maven依赖如下
?xmlversion="1.0"encoding="UTF-8"?>
projectxmlns="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.0https://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.5.5/version>
relativePath/>
!--lookupparentfromrepository-->
/parent>
groupId>
com.hy/groupId>
artifactId>
fluent-mybatis-project/artifactId>
version>
0.0.1-SNAPSHOT/version>
name>
fluent-mybatis-project/name>
description>
DemoprojectforSpringBoot/description>
properties>
java.version>
1.8/java.version>
fluent-mybatis.version>
1.8.7/fluent-mybatis.version>
/properties>
dependencies>
dependency>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-starter-web/artifactId>
/dependency>
dependency>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-devtools/artifactId>
scope>
runtime/scope>
optional>
true/optional>
/dependency>
dependency>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-configuration-processor/artifactId>
optional>
true/optional>
/dependency>
dependency>
groupId>
org.projectlombok/groupId>
artifactId>
lombok/artifactId>
optional>
true/optional>
/dependency>
dependency>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-starter-test/artifactId>
scope>
test/scope>
/dependency>
dependency>
groupId>
org/groupId>
artifactId>
jaudiotagger/artifactId>
version>
2.0.1/version>
/dependency>
dependency>
groupId>
com.google.guava/groupId>
artifactId>
guava/artifactId>
version>
30.1.1-jre/version>
/dependency>
dependency>
groupId>
cn.hutool/groupId>
artifactId>
hutool-all/artifactId>
version>
5.5.2/version>
/dependency>
!--引入fluent-mybatis运行依赖包,scope为compile-->
dependency>
groupId>
com.github.atool/groupId>
artifactId>
fluent-mybatis/artifactId>
version>
${
fluent-mybatis.version}
/version>
/dependency>
!--引入fluent-mybatis-processor,scope设置为provider编译需要,运行时不需要-->
dependency>
groupId>
com.github.atool/groupId>
artifactId>
fluent-mybatis-processor/artifactId>
scope>
provided/scope>
version>
${
fluent-mybatis.version}
/version>
/dependency>
dependency>
groupId>
org.mybatis.spring.boot/groupId>
artifactId>
mybatis-spring-boot-starter/artifactId>
version>
2.2.0/version>
/dependency>
dependency>
groupId>
mysql/groupId>
artifactId>
mysql-connector-java/artifactId>
scope>
runtime/scope>
/dependency>
/dependencies>
build>
plugins>
plugin>
groupId>
org.springframework.boot/groupId>
artifactId>
spring-boot-maven-plugin/artifactId>
configuration>
excludes>
exclude>
groupId>
org.projectlombok/groupId>
artifactId>
lombok/artifactId>
/exclude>
/excludes>
/configuration>
/plugin>
/plugins>
/build>
/project>
表构建
在数据库创建一张测试表,表比较简单,先试试看。sql如下:
CREATETABLE`test_fluent_mybatis`(
`id`intNOTNULLAUTO_INCREMENTCOMMENT'自增主键',
`name`varchar(255)DEFAULTNULLCOMMENT'姓名',
`age`intDEFAULTNULLCOMMENT'年龄',
`create_time`datetimeDEFAULTNULLCOMMENT'创建时间',
`del_flag`intDEFAULTNULLCOMMENT'是否删除',
PRIMARYKEY(`id`)
)ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci;
代码生成工具类
注意:放到测试代码包中。结构如下图:
代码生成工具类代码,先按照官方给的简单样例来,如下:
packagecom.hy.fmp;
importcn.org.atool.generator.FileGenerator;
importcn.org.atool.generator.annotation.Table;
importcn.org.atool.generator.annotation.Tables;
importorg.junit.jupiter.api.Test;
publicclassEntityGeneratorDemo{
//数据源url
staticfinalStringurl=
"jdbc:mysql://192.168.0.16:3306/test?useUnicode=true&
characterEncoding=utf8";
//数据库用户名
staticfinalStringusername="root";
//数据库密码
staticfinalStringpassword="123456";
@Test
publicvoidgenerate()throwsException{
//引用配置类,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"}
)}
)
staticclassEmpty{
//类名随便取,只是配置定义的一个载体
}
}
执行代码生成工具,看看都生成了些什么。
可以看到生成的包如下。
解决类找不到问题
这里有个坑,看下面的截图
其实官方给了解决方法,只是没有对此说明。
简而言之就是你需要使用maven编译一下,所以我们compile一下。
编译结束后我们可以在target中,找到报错包位置中的编译文件。
之前报错的类已经不再报错了。完美。
关于“Java Fluent Mybatis怎么构建项目与实现代码生成”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Java Fluent Mybatis怎么构建项目与实现代码生成”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java Fluent Mybatis怎么构建项目与实现代码生成
本文地址: https://pptw.com/jishu/292678.html
