首页后端开发PHPJava Fluent Mybatis怎么构建项目与实现代码生成

Java Fluent Mybatis怎么构建项目与实现代码生成

时间2023-07-06 23:09:01发布访客分类PHP浏览961
导读:这篇文章主要介绍了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核实处理,我们将尽快回复您,谢谢合作!

javamybatis

若转载请注明出处: Java Fluent Mybatis怎么构建项目与实现代码生成
本文地址: https://pptw.com/jishu/292678.html
java MyBatis中jar怎么下载 Java中怎么将Map和JSON数据相互转换

游客 回复需填写必要信息