- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
JOOQ三秒领会
JOOQ 概念详解
JOOQ (Java Object Oriented Querying-------jave面向对象查询 )
Code Generation (自动生成代码):
JOOQ可自动化生成 基于java对象的数据库模式(Database Schema),在JOOQ框架里每一个表、视图、储存过程、枚举、UDT(User Defination Dype---用户定义类型 )都将被自动生成是一个java类。
Active records(灵活记录模式):
JOOQ实现了一种简单使用的【灵活记录映射模式】,它并不是OR(Object-Relation)映射,不过也提供了一种 表/视图与java_class、字段与成员变量之间的1:1 对应关系,
Typesafe SQL (类型安全的SQL):
JOOQ基于内建的DSL ,允许编写编译时期类型安全的查询语句。
面向管理业务的DSL(Specific Language,领域特定语言)’s 和ARRAY’S 以及其它
JOOQ不仅提供了对符合SQL标准数据库的简单CRUD操作,不仅如此,JOOQ做得更周到,为了满足不周数据库之间的差异,又提供了对特定数据库访问的特定接口
原因:
通用类型的Factory实例
Factory create = new Factory(connection, SQLDialect.MYSQL);
通用的实例,有其同性,但差异的东西并未考虑在内
特定类型的Factory实例
MySQLFactory create = new MySQLFactory(connection);
数据库与数据库之间的差异还是有的,特别是在一些很细微的方面,
因此采用特定领域的工厂实例模式会更准确更细微化功能也会更健全化
Oracle一些特有的分析funtion,并不是其它数据库所具体有
任何基于RDMS(Relation Database Management System)所内建的功能funtion
特定领域内的东西(speficial dialect)
JOOQ能帮你做什么?
1、可使你的code更容易维护
2、不必再为了ORM 的复杂所苦恼
3、不必关心查询SQL inquery语句里是否有语法错误
4、不必记住正确绑定变量、当然了SQL 注入也不必关心
5、不必关心数据库的结构模式schema,因为这一些都是通过java代码及你所使用的IDE自动生成的
6、不必去自行创建关于value object 值对象,自动生成功能可以帮你做到这一点
7、不必关心数据库date type 与java_class 成员变量的数据类型安全问题
8、一旦你的数据库发生变化,那么编译是不通过的,因此,防错机制比较高,较快较早的可以发现问题
9、忘掉JDBC吧
什么时候用JOOQ?
1、如果你偏爱通过RDBMS(relational database management system 关系型数据库管理系统….
1.、不关心数据库或数据库的persisitence时
2、实在是不需要SQL时
3.、数据库模式常常发生变化时而非通过基于JOOQ的自动生成方式时
4、因为JOOQ只支持数据库操作语言(DML Databse Manipulate Language),因此在有DDL(Database Defination Language)数据库定义语言时
Schema在JOOQ的作用:在属性.XXX .properties配置文件中,有
jdbc.URL=jdbc:sqlserver://localhost:1433;DatabaseName=Elec
jdbc.Schema=dbo
schema在数据库中的概念:
schema与user 由于在架构上有一种隐含的关系,但它们是完全不同的两个概念
在DBMS中,database就由如一个大的仓库,而schema就是置于其中的房间,而user就是用户,user用户的权限不同,所以他能进入的房间也就不同。
在server-2005数据库中,如果我们用create user为数据库创建用户的话,我们可以为用户指定一个已存在的schema作为其默认schema,如果没被指定,那么系统都用户的schema默认设置为dbo schema(通常都是dbo作为默认的schema的),dbo作为一个公共的大房间,只能用户没有指定db的schema时,默认都是dbo
代码自动生成实例(数据库schema-----到----java_class)
Schema:包括数据库里的表、视图、储存过程、枚举、UDT等都将被生成相应的.java文件
SQLServer2005建数据库Elec 表t_danwei 字段 单位编码器dwbm primar
您可能关注的文档
最近下载
- 中国高尔夫差点系统会员入会申请书.doc
- 江苏国泰(002091)公司2023年财务分析研究报告.doc
- 2024执业药师继续教育药物分析(3)参考答案.docx
- DB11T 383-2023 建筑工程施工现场安全资料管理规程.docx
- 总体国家安全观授课.pptx VIP
- 一种聚4-甲基-1-戊烯中空纤维膜的制备方法.pdf VIP
- DB11T 1832.2-2023 建筑工程施工工艺规程 第2部分:防水工程.docx
- 普外科麻醉科运用PDCA循环提高患者术后自控镇痛有效率QCC品管圈成果汇报书.docx
- 海信BCD-203FH电冰箱使用说明书.pdf
- 哈工大尹海洁社会统计学(第2版)课后习题答案.docx
文档评论(0)