FluentMybatis(疑似停更)
在这里小阳先提一嘴FluentMybatis和MybatisPlus不太一样的具体
参见链接: FluentMybatis
这里是我工程代码的链接:https://pan.baidu.com/s/1wpMDI1b1MFuN-uSTuc6-Kg
提取码:j40t
FluentMybatis支持哪些数据库
mysql,mariadb,h2,sqlite,oracle,oracle12,db2,hsql,postgre_sql,derby,click_house,informix,sql_server2005,sql_server2012,firebird。初次之外还提供了两个其他数据库主要是为了尽可能满足一个应用使用到多数据源类型的场景。
快速开始
仅仅只需要几个依赖就可以快速的搭建一个demo出来:
下面是mysql的数据源仅供参考,其他的应该也差不多,注意一些特殊的不同数据库是不同滴,具体可见多数据库支持模块
- 最基本的sprintboot;
- mysql;
- mybatis;
- lombok;
- fluent-mybatis;
- generator;
废话不说了maven直接代码块
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</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>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.atool</groupId>
<artifactId>fluent-mybatis</artifactId>
<version>1.4.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.github.atool</groupId>
<artifactId>fluent-mybatis-processor</artifactId>
<version>1.4.1</version>
<scope>provided</scope>
</dependency>
<!--代码生成器-->
<dependency>
<groupId>com.github.atool</groupId>
<artifactId>generator</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>
逆向代码块
public class Generator {
static final String url = "jdbc:mysql://localhost:3306/fluent_mybatis?useSSL=false&useUnicode=true" +
"&characterEncoding=utf-8&serverTimezone=UTC";
public static void main(String[] args) {
FileGenerator.build(generator.class);
}
@Tables(
/** 数据库连接信息 **/
url = url, username = "root", password = "",
/** 包名 **/
basePack = "com.ly.demo",
/** 生成Entity代码目录 如果为聚合项目记得加上子包名 **/
srcDir = "/src/main/java",
/** 生成Dao代码目录 **/
daoDir = "/src/main/java",
/** 定义创建,修改,逻辑删除字段 **/
gmtCreated = "create", gmtModified = "modified", logicDeleted = "is_del",
/** 需要生成文件的表, 这里可以配置多个表 **/
tables = @Table(value = {"user"})
)
static class generator {
}
}
生成成功后控制台如下所示
===数据库元信息初始化...
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
===准备生成文件...
======处理表:user
===文件生成完成!!!
生完了打开UserDaoImpl报错了,淡定
打开idea顶部导航栏的build>>>Rebuild Project,等他编译后生成对应的BaseDao就可以啦,在这里面的dao层相当于是service,框架生成就是这样没办法的噻~
创建一个controller
自动注入后更多的细节具体可参见链接地址,很详细,更深层次有待继续探索,也是在不断的完善和更新,注意了逆向生成的主键不是自增的,参考:主键设置
@RestController
public class UserController {
@Autowired
private UserDao userDao;
@GetMapping("{id}")
public UserEntity getOne(@PathVariable Integer id){
return this.userDao.selectById(id);
}
}
启动之后就可以访问了,注意了启动记得加上数据库地址
spring:
datasource:
url: jdbc:mysql://localhost:3306/fluent_mybatis?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC
driverClassName: com.mysql.cj.jdbc.Driver
username: root
password: