在使用JOOQ前,这些问题不能不清楚

本文对比了JOOQ和ORMBee两个Java ORM框架在数据库查询上的使用。JOOQ需要手动管理数据库连接,而ORMBee提供更简洁的API,自动处理连接,并支持复杂的查询自动化处理。ORMBee以其简单易用和高性能,成为快速开发的理想选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、使用JOOQ,根据用户名查询记录.

以下是从网上随机找的一个例子.

1。public class DruidConnection {

。。。

2。public class DruidUtil {

。。。

3。

import java.util.Map;
import java.util.Set;
 
import org.jooq.Condition;
import org.jooq.DSLContext;
import org.jooq.Record;
import org.jooq.Result;
import org.jooq.SelectQuery;
import org.jooq.Table;
import org.jooq.UpdateQuery;
import org.jooq.impl.DSL;
 
import com.fendo.gui.util.DruidUtil;
 
/**     
 * @title: JooqDao.java   
 * @package com.fendo.gui.jooq   
 * @description: Jooq简单的增删改查  
 * @author: fendo  
 * @date: 2018年2月27日 上午9:27:02   
 * @version: V1.0     
*/
public class JooqDao {
 
    private DSLContext dslContext= null; 
    
    /**
     * 
     *@title getdslContext   
     *@description: 获取DSLContext对象  
     *@author: fendo  
     *@date: 2018年2月27日 上午9:30:55  
     *@return  
     *@throws
     */
    private DSLContext getdslContext()  
    {  
    	//获取连接
        dslContext = DSL.using(DruidUtil.getConnection());  
        return dslContext;  
    }
    
    /**
     * 
     *@title select   
     *@description: 简单实体查询 - 根据用户名
     *@author: fendo  
     *@date: 2018年2月27日 上午10:01:35  
     *@param add  
     *@throws
     */
    public void select(String add)  
    {  
        DSLContext getdslContext = getdslContext();  
        Table<Record> table = DSL.table("user");  
        SelectQuery<Record> selectQuery = getdslContext.selectQuery(table);//获取查询对象  
        Condition eq = DSL.field("name").eq(add);//查询条件  
        selectQuery.addConditions(eq);//添加查询条件  
        Result<Record> fetch = selectQuery.fetch();  
        for (Object aResult : fetch) {  
            Record record = (Record) aResult;  
            System.out.println(record);  
            System.out.println(record.getValue("name"));  
        }  
      }  


原文链接:https://blog.youkuaiyun.com/u011781521/article/details/79730016

统计了下,该例子有接近500行。DruidConnection,DruidUtil获取连接,归还资源, 这些还需要自己操心。

二、以下是另一个的例子(ORM Bee)

import java.util.List;

import org.teasoft.bee.osql.Op;
import org.teasoft.bee.osql.PreparedSql;
import org.teasoft.bee.osql.chain.Select;
import org.teasoft.exam.comm.Printer;
import org.teasoft.honey.osql.chain.SelectImpl;
import org.teasoft.honey.osql.core.BeeFactory;

/**
 * @author Kingstar
 * @since  1.11
 */
public class QueryCompare {
	private static PreparedSql preparedSql = BeeFactory.getHoneyFactory().getPreparedSql();
	public static void main(String[] args) {
				Select t = new SelectImpl();
		        t.select() //查所有列
//		        t.select("name")  //也可以查具体的列
				.from("orders")
				.where()
				.op("name", Op.eq, "bee")
				.isNotNull("createtime")
		        ;
		        
		        List<String[]> list1= preparedSql.select(t.toSQL());
		        Printer.print(list1);
	}

}

可以看出,该例子更加简单。

不需要自己管理数据库连接,只需要在bee.properties配置了url,数据库用户名和密码,其它就交由ORM Bee框架处理。 表达式,也是 类似sql的field_name='value'这种风格。

另外,Bee实现了自动解析复杂查询。只需要将前端查询的条件传到后端,剩下的由Bee框架来处理。ORM Bee复杂查询后端实现自动化处理,后端只需要要类似以下两条语句。

  1. Condition condition=SearchProcessor.parseSearch(search);

  2. List<Users> list17 = suidRich.select(new Users(), condition);

详细教程,参考:

(二十三)ORM Bee复杂查询后端实现自动化处理

-----------------------------------------------------------------

为适应互联网时代软件需求量大,需求变更频繁,性能要求高等要求,ORM Bee应运而生!

Bee,互联网新时代的Java ORM框架,更快、更简单、更自动,开发速度快,运行快,更智能! 

Bee,一个简单,易用,功能强大(编码少、开发速度快,运行快)的 JAVA ORM 框架。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值