JOOQ官方文档:https://www.jooq.org/learn/
暂时没有看见中文文档。
1.JOOQ连接前提
- 首先搭建SQL,使用的MySql-- 参考:https://blog.csdn.net/xjakmy/article/details/79892716
- 备注:主要是写my.ini文件 跟环境变量
- 搭建OK后,安装图形化工具Navicat Premium连接数据库表
2.JOOQ连接依赖
- 如果还没有下载JOOQ,请先下载:
- http://www.jooq.org/download
- 或者,可以创建一个Maven依赖项来下载jOOQ :
- 本人使用如下依赖项,pom.xml
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.11.4</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-meta</artifactId>
<version>3.11.4</version>
</dependency>
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen</artifactId>
<version>3.11.4</version>
</dependency>
官方提供其他依赖项:
另外需要添加:
<plugin>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen-maven</artifactId>
<version>${jooq.version}</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
</dependencies>
<configuration>
<configurationFile>src/main/resources/JooqConfig.xml</configurationFile>
</configuration>
</plugin>
3.JOOQ配置文件:
- 在这一步中,我们将使用jOOQ的命令行工具来生成映射到我们创建的SQL表的类
- 配置文件路径:src/main/resources/JooqConfig.xml
JooqConfig.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<jdbc>
<!-- 配置需要的数据库的驱动,本例采用postgres -->
<driver>com.mysql.cj.jdbc.Driver</driver>
<!-- 配置数据库地址 -->
<!-- newsdata为我的数据库名称,修改称自己的,'?'后面的是连接一系列参数,随意-->
<url>jdbc:mysql://localhost:3306/newsdata?serverTimezone=UTC</url>
<!-- 配置数据库用户名-->
<user>root</user>
<!-- 配置数据库密码-->
<password>123</password>
</jdbc>
<generator>
<!-- 代码生成器 -->
<name>org.jooq.codegen.JavaGenerator</name>
<database>
<!--强制为scheme1模式下所有的含有id域生成id-->
<syntheticPrimaryKeys>scheme1\..*\.id</syntheticPrimaryKeys>
<!--是否重写主键-->
<overridePrimaryKeys>override_primmary_key</overridePrimaryKeys>
<name>org.jooq.meta.mysql.MySQLDatabase</name>
<!--include和exclude用于控制为数据库中哪些表生成代码-->
<includes>.*</includes>
<!--<excludes></excludes>-->
<!--数据库名称--> <!--需要修改-->
<inputSchema>newsdata</inputSchema>
</database>
<generate>
<!--是否生成dao和pojo-->
<daos>true</daos>
<pojos>true</pojos>
<!--是否把数据库时间类型映射到java 8时间类型-->
<javaTimeTypes>true</javaTimeTypes>
<!--<interfaces>true</interfaces>-->
<!--是否在生成的代码中添加spring注释,比如@Repository-->
<springAnnotations>false</springAnnotations>
</generate>
<target>
<!--生成代码文件的包名及放置目录 修改-->
<packageName>com.tj.newsdemo</packageName>
<directory>src/main/java</directory>
</target>
</generator>
</configuration>
注意:此处是让JOOQ连接数据库 然后自动生成一些方便实用的代码。
- 使用JOOQ的包编译
- 我使用的是IDEA中右侧按键Maven按键下
- joop-codegen下 joop-codegen:generate自动编译
- 我使用的是IDEA中右侧按键Maven按键下
- 官网编译方法:
- 随后便可以在src/main/java (在配置JooqConfig.xml文件你预设的生成目录下) 下面看到生成文件
4.开始连接数据库
建立JDBC连接
- 注意:此处与上面配置文件所建立的连接不同,
- 配置文件是为了连接数据库生成方便实用的代码,在生成完代码文件就断开了(自己理解)
- 此处JDBC是为了自己写的代码连接数据库,
private static String driver="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://127.0.0.1:3306/newsdata";
private static String username="root";
private static String password="123";
private static Connection ct=null;
private static DSLContext dslContext=null;
private static Result<Record> result=null;
private static Table<Record> table=null;
static {
try {
Class.forName(driver);
ct=DriverManager.getConnection(url, username, password);
dslContext=DSL.using(ct);
table=DSL.table("student");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
代码摘录自:https://blog.csdn.net/xianzhixianzhixian/article/details/78894256
因为初次接触:写下自己的理解
-
DriverManager.getConnection获取JDBC连接池里面的数据库连接。
-
DSLContext 是一个JOOQ特有的类 用于数据库增删改查,但也不止如此用法文档
https://wenku.baidu.com/view/c05eb24526d3240c844769eae009581b6bd9bd1d.html
目前学到这。
请标明处处谢谢