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