在使用JOOQ前,这些问题不能不清楚
一、使用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.csdn.net/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复杂查询后端实现自动化处理,后端只需要要类似以下两条语句。
Condition condition=SearchProcessor.parseSearch(search);
List<Users> list17 = suidRich.select(new Users(), condition);
详细教程,参考:
(二十三)ORM Bee复杂查询后端实现自动化处理
-----------------------------------------------------------------
为适应互联网时代软件需求量大,需求变更频繁,性能要求高等要求,ORM Bee应运而生!
Bee,互联网新时代的Java ORM框架,更快、更简单、更自动,开发速度快,运行快,更智能!
Bee,一个简单,易用,功能强大(编码少、开发速度快,运行快)的 JAVA ORM 框架。
在使用JOOQ前,这些问题不能不清楚相关推荐
- CSS3 选择器——属性选择器
上一节在<CSS3选择器--基本选择器>中主要介绍了CSS3选择器的第一部分,这节主要和大家一起来学习CSS3选择器的第二部分--属性选择器.属性选择器早在CSS2中就被引入了,其主要作用 ...
- css3属性选择器总结
css3属性选择器总结 (1)E[attr]只使用属性名,但没有确定任何属性值 <p miaov="a1">111111</p> <p miaov=& ...
- HTML5属性选择器以什么开头,CSS3 选择器 属性选择器介绍
属性选择器早在CSS2中就被引入了,其主要作用就是对带有指定属性的HTML 元素设置样式.使用CSS3属性选择器,你可以只指定元素的某个属性,或者你还可以同时指定元素的某个属性和其对应的属性值. 从上 ...
- 关于CSS的学习内容三
关于CSS的学习内容三 35.HTML5发展史 36.HTML5的浏览器兼容 37.HTML5语法 38.HTML新增语义化标签 39.Video和audio的应用 40.HTML5智能表单----- ...
- CSS3 选择器——笔记+实战案例(基本选择器、组合选择器、属性选择器、伪类选择器)...
使用CSS3 选择器--笔记 CSS通过选择器控制HTML元素,CSS选择器对网页对象可以实现一对一.一对多或者多对一的匹配. 一.CSS3选择器分类 CSS选择器在CSS2.1选择器的基础上新增了属 ...
- HTML和CSS简单整理
前言:hello 家人们,本文章用于自己整理笔记使用,逻辑会有点混乱,不建议小白入手从上往下查看,有什么指导欢迎评论区畅聊 (。・∀・)ノ゙ 基本结构 结构 – html 表现 – css 行为 – ...
- css3 和 html5 笔记
1.css3 ie下大部分不兼容 ie9以下 浏览器低版本不兼容 需要写 -webket-transition:1s -moz-transition: 1s -o-transition:1s tran ...
- CSS选择器分类大全
选择器(选择符)就是根据不同需求把不同的标签选出来这就是选择器的作用. 简单来说,就是选择标签用的. 分类:基础选择器.复合选择器 目录 一.基础选择器 二.复合选择器 三.CSS3选择器补充: (一 ...
- 如何在 Kaggle 首战中进入前 10%(转)
如何在 Kaggle 首战中进入前 10%(转) 来源:https://dnc1994.com/2016/04/rank-10-percent-in-first-kaggle-competition/ ...
最新文章
- 什么?你的团队没有100人,那就不要用微服务了!
- 折半查找python实现
- java ee程序设计师_软件设计师:Java EE开发四大常用框架[1]
- 漫谈Google的Native Client(NaCl)技术(二)–技术篇(兼谈LLVM)
- Jsp基本page指令、注释、方法声明,书写规范及注意事项
- android通过adb截取屏幕、录制屏幕 screencap screenrecord
- 道路测量xy坐标表示什么_cad里面什么叫绝对极坐标,相对极坐标,怎么区分他们?...
- html5创建桌面快捷方式,iOS APP创建桌面快捷方式
- 网易云课堂 计算机编程,网易云课堂教你如何学好计算机编程技术
- dw整个网站html文件怎么放一起,Dreamweaver模板如何批量做网页
- OJ 1038 宋小胖买切糕
- 【如何7天写完一篇发明专利】
- read.html5.qq.com,如何通过第三方QQ登录网站首页
- 微信分享带图片,描述(php版)
- github开源企业级应用框架介绍CIIP
- gitlab删除项目时 ,没有删除选项
- Google免费企业邮局设置攻略
- 《AI Utopia or Dystopia (DAC‘20)》阅读笔记
- 关于图片预加载loading及加载失败的相关问题
- 20221215今天的世界发生了什么