java中轻量级数据库ORM框架:JOOQ

1、使用maven下载

        
        <dependency>
            <groupId>org.jooqgroupId>
            <artifactId>jooqartifactId>
            <version>3.9.5version>
        dependency>
        
        <dependency>
            <groupId>org.jooqgroupId>
            <artifactId>jooq-metaartifactId>
            <version>3.9.5version>
        dependency>
        
        <dependency>
            <groupId>org.jooqgroupId>
            <artifactId>jooq-codegenartifactId>
            <version>3.9.5version>
        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 recordResult =  dslContext.fetch("SELECT  * FROM users");

        // 循环打印结果集
        for (Record record : recordResult){
            System.out.println(record.get("name")); // 打印name字段
        }
    }

我们使用ORM框架就是想少写或者不写SQL:

Result recordResult =  dslContext.select().from("users").fetch();

得到的结果一样。

Result recordResult =  dslContext.select().from("users").orderBy(field("id").desc()).fetch(); //倒序

你可能感兴趣的:(Java基础入门)