1、使用maven下载
<!-- https://mvnrepository.com/artifact/org.jooq/jooq -->
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq</artifactId>
<version>3.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jooq/jooq-meta -->
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-meta</artifactId>
<version>3.9.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jooq/jooq-codegen -->
<dependency>
<groupId>org.jooq</groupId>
<artifactId>jooq-codegen</artifactId>
<version>3.9.5</version>
</dependency>
jooq
官方文档地址:
https://www.jooq.org/doc/3.9/manual-single-page/
2、创建一个类,目的是为了获取connection
DBUtil.java:
public class DBUtil {
// 连接池
static PoolProperties poolProperties = new PoolProperties(){
{
setUrl("jdbc:mysql://127.0.0.1/test?characterEncoding=UTF-8");
setUsername("root");
setPassword("root");
setDriverClassName("com.mysql.jdbc.Driver");
setMinIdle(5); //始终保留的连接的最小连接数,默认10
setMinIdle(10); //设置池内最大空闲连接数
setInitialSize(5); //启动时初始连接数 默认10
setMaxActive(20); //最大活跃连接数
setTestOnBorrow(true); //取出连接时是否对其进行验证
setValidationQuery("select 1"); //如果上面设置为true,则这里要设置
}
};
// 获取数据库链接
public static Connection getConnection() throws SQLException {
DataSource dataSource = new DataSource();
dataSource.setPoolProperties(poolProperties);
Connection connection = dataSource.getConnection();
return connection;
}
}
这部分代码如果难以理解,需要复习我们上一篇:
http://blog.csdn.net/github_26672553/article/details/78190246
3、下面看怎么使用JOOQ
这个ORM框架?
public static void main(String[] args) throws SQLException {
DSLContext dslContext = DSL.using(DBUtil.getConnection(),SQLDialect.MYSQL);
// 执行原始SQL
Result<Record> recordResult = dslContext.fetch("SELECT * FROM users");
// 循环打印结果集
for (Record record : recordResult){
System.out.println(record.get("name")); // 打印name字段
}
}
我们使用ORM框架就是想少写或者不写SQL:
Result<Record> recordResult = dslContext.select().from("users").fetch();
得到的结果一样。
Result<Record> recordResult = dslContext.select().from("users").orderBy(field("id").desc()).fetch(); //倒序