Added some sections to the manual
This commit is contained in:
parent
ed2a0cceb4
commit
b55d99bb0c
@ -3,7 +3,7 @@ require 'frame.php';
|
||||
function printH1() {
|
||||
print 'Be part of jOOQ!';
|
||||
}
|
||||
function printSlogan() {}
|
||||
function getSlogan() {}
|
||||
function printContent() {
|
||||
?>
|
||||
<h2>Be a jOOQ contributor!</h2>
|
||||
|
||||
@ -2,7 +2,7 @@ body {
|
||||
font-family: Verdana,Geneva,Arial,Helvetica,sans-serif;
|
||||
font-weight: normal;
|
||||
text-shadow: 0 1px 0 #FFFFFF;
|
||||
font-size: 16px;
|
||||
font-size: 15px;
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
color: #000000;
|
||||
@ -16,10 +16,19 @@ body {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
height: 5px;
|
||||
color: #000;
|
||||
background-color: #000;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-family: 'Georgia',Serif;
|
||||
font-weight: normal;
|
||||
color: #000000;
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
h1 {
|
||||
@ -66,6 +75,7 @@ p.slogan {
|
||||
color: #888888;
|
||||
font-family: 'Georgia',Serif;
|
||||
font-style: italic;
|
||||
height: 2.5em;
|
||||
}
|
||||
|
||||
td.left {
|
||||
@ -90,10 +100,6 @@ td h3 {
|
||||
}
|
||||
|
||||
ul {
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
margin: 0;
|
||||
list-style-image:url(../img/favicon-16.png);
|
||||
}
|
||||
@ -106,11 +112,11 @@ ol {
|
||||
a, a:link, a:visited, a:hover, a:active {
|
||||
color: #882222;
|
||||
text-decoration: none;
|
||||
text-shadow: 0 1px 1px #666666;
|
||||
text-shadow: 0 1px 2px #666666;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: none;
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
#wrapper {
|
||||
@ -123,7 +129,7 @@ a:hover {
|
||||
background-color: #FFFFFF;
|
||||
margin: 0 auto;
|
||||
position: relative;
|
||||
width: 940px;
|
||||
width: 980px;
|
||||
|
||||
padding-top: 1em;
|
||||
padding-left: 3em;
|
||||
|
||||
@ -70,8 +70,15 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php printSlogan(); ?>
|
||||
<?php printContent(); ?>
|
||||
<?php
|
||||
$slogan = getSlogan();
|
||||
|
||||
if ($slogan != '') {
|
||||
print '<p class="slogan">' . $slogan . '</p>';
|
||||
}
|
||||
|
||||
printContent();
|
||||
?>
|
||||
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
@ -3,13 +3,11 @@ require 'frame.php';
|
||||
function printH1() {
|
||||
print 'jOOQ : A peace treaty between SQL and Java';
|
||||
}
|
||||
function printSlogan() {
|
||||
?>
|
||||
<p class="slogan">SQL was never meant to be abstracted. To be confined in the narrow boundaries
|
||||
of heavy mappers, hiding the beauty and simplicity of relational data.
|
||||
SQL was never meant to be object-oriented. SQL was never meant to be
|
||||
anything other than... SQL!</p>
|
||||
<?php
|
||||
function getSlogan() {
|
||||
return "SQL was never meant to be abstracted. To be confined in the narrow boundaries
|
||||
of heavy mappers, hiding the beauty and simplicity of relational data.
|
||||
SQL was never meant to be object-oriented. SQL was never meant to be
|
||||
anything other than... SQL!";
|
||||
}
|
||||
function printContent() {
|
||||
?>
|
||||
@ -178,7 +176,7 @@ create.select(FIRST_NAME, LAST_NAME, create.count())
|
||||
<li>Teradata</li>
|
||||
</ul>
|
||||
|
||||
<h3>Other requirements</h3>
|
||||
<h2>Other requirements</h2>
|
||||
<p>jOOQ runs with Java 1.6+</p>
|
||||
|
||||
<h3>License</h3>
|
||||
|
||||
@ -3,7 +3,7 @@ require 'frame.php';
|
||||
function printH1() {
|
||||
print 'Useful links for jOOQ';
|
||||
}
|
||||
function printSlogan() {}
|
||||
function getSlogan() {}
|
||||
function printContent() {
|
||||
?>
|
||||
<h2>NEWS</h2>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/CONNECTBY/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/CONNECTBY/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "The Oracle CONNECT BY clause for hierarchical queries";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/">The Oracle CONNECT BY clause for hierarchical queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/Export/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/Export/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Exporting data to XML, CSV, JSON, HTML, Text";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Export/">Exporting data to XML, CSV, JSON, HTML, Text</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">previous</a> : <a href="<?=$root?>/manual/ADVANCED/Import/" title="Importing data from XML, CSV">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/Import/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/Import/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Importing data from XML, CSV";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/Import/">Importing data from XML, CSV</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">previous</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/MasterData/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/MasterData/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Master data generation";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/MasterData/">Master data generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/" title="Advanced topics">previous</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/OracleHints/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/OracleHints/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Adding Oracle hints to queries";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/">Adding Oracle hints to queries</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">previous</a> : <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/ADVANCED/SchemaMapping/index.php
Normal file
23
jOOQ-website/manual/ADVANCED/SchemaMapping/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Mapping generated schemata and tables to productive environments";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a> : <a href="<?=$root?>/manual/ADVANCED/SchemaMapping/">Mapping generated schemata and tables to productive environments</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Master data generation">previous</a> : <a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
42
jOOQ-website/manual/ADVANCED/index.php
Normal file
42
jOOQ-website/manual/ADVANCED/index.php
Normal file
@ -0,0 +1,42 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../frame.php';
|
||||
function printH1() {
|
||||
print "Advanced topics";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/SQL/" title="When it's just much easier: Plain SQL">previous</a> : <a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Master data generation">next</a></td>
|
||||
</tr>
|
||||
</table><h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Master data generation">Master data generation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">Mapping generated schemata and tables to productive environments</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">Adding Oracle hints to queries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">The Oracle CONNECT BY clause for hierarchical queries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">Exporting data to XML, CSV, JSON, HTML, Text</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/Import/" title="Importing data from XML, CSV">Importing data from XML, CSV</a>
|
||||
</li>
|
||||
</ol>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/ALIAS/index.php
Normal file
23
jOOQ-website/manual/DSL/ALIAS/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Aliased tables and fields";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ALIAS/">Aliased tables and fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">previous</a> : <a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/ARITHMETIC/index.php
Normal file
23
jOOQ-website/manual/DSL/ARITHMETIC/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Arithmetic operations";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/">Arithmetic operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">previous</a> : <a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/CASE/index.php
Normal file
23
jOOQ-website/manual/DSL/CASE/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "The CASE clause";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CASE/">The CASE clause</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">previous</a> : <a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/CAST/index.php
Normal file
23
jOOQ-website/manual/DSL/CAST/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Type casting";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CAST/">Type casting</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">previous</a> : <a href="<?=$root?>/manual/DSL/SQL/" title="When it's just much easier: Plain SQL">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/CONDITION/index.php
Normal file
23
jOOQ-website/manual/DSL/CONDITION/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Conditions";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/CONDITION/">Conditions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">previous</a> : <a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/EXISTS/index.php
Normal file
23
jOOQ-website/manual/DSL/EXISTS/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Nested select statements using the EXISTS operator";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/EXISTS/">Nested select statements using the EXISTS operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">previous</a> : <a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/FUNCTIONS/index.php
Normal file
23
jOOQ-website/manual/DSL/FUNCTIONS/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Functions, aggregate operators, and window functions";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/">Functions, aggregate operators, and window functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">previous</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/IN/index.php
Normal file
23
jOOQ-website/manual/DSL/IN/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Nested select statements using the IN operator";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/IN/">Nested select statements using the IN operator</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">previous</a> : <a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/NESTED/index.php
Normal file
23
jOOQ-website/manual/DSL/NESTED/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Other types of nested selects";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/NESTED/">Other types of nested selects</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">previous</a> : <a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/PROCEDURES/index.php
Normal file
23
jOOQ-website/manual/DSL/PROCEDURES/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Stored procedures and functions";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/PROCEDURES/">Stored procedures and functions</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">previous</a> : <a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/SELECT/index.php
Normal file
23
jOOQ-website/manual/DSL/SELECT/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Complete SELECT syntax";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SELECT/">Complete SELECT syntax</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/" title="DSL or fluent API">previous</a> : <a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/SQL/index.php
Normal file
23
jOOQ-website/manual/DSL/SQL/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "When it's just much easier: Plain SQL";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/SQL/">When it's just much easier: Plain SQL</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">previous</a> : <a href="<?=$root?>/manual/ADVANCED/" title="Advanced topics">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/DSL/UNION/index.php
Normal file
23
jOOQ-website/manual/DSL/UNION/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "UNION and other set operations";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a> : <a href="<?=$root?>/manual/DSL/UNION/">UNION and other set operations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">previous</a> : <a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@ -4,17 +4,59 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../frame.php';
|
||||
function printH1() {
|
||||
print 'DSL support';
|
||||
print "DSL or fluent API";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL support</a></td><td align="right"><a href="<?=$root?>/manual/META/">previous</a> : <a href="<?=$root?>/manual/Advanced/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/DSL/">DSL or fluent API</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">previous</a> : <a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</table><h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">Complete SELECT syntax</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">Conditions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">Aliased tables and fields</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">Nested select statements using the IN operator</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">Nested select statements using the EXISTS operator</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">Other types of nested selects</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">UNION and other set operations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">Functions, aggregate operators, and window functions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">Stored procedures and functions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">Arithmetic operations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">The CASE clause</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">Type casting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/SQL/" title="When it's just much easier: Plain SQL">When it's just much easier: Plain SQL</a>
|
||||
</li>
|
||||
</ol>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@ -4,22 +4,24 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'The example database';
|
||||
print "The example database";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "
|
||||
For the examples in this manual, the same database will always be
|
||||
referred to. It essentially consists of these entities created using
|
||||
the Oracle dialect
|
||||
";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">The example database</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Factory/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">The example database</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their usage">previous</a> : <a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
For the examples in this manual, the same database will always be
|
||||
referred to. It essentially contains of these entities (for
|
||||
example in the Oracle dialect):
|
||||
</p>
|
||||
<h2>Example CREATE TABLE statements</h2>
|
||||
<pre class="prettyprint lang-sql">
|
||||
CREATE TABLE t_language (
|
||||
id NUMBER(7) NOT NULL PRIMARY KEY,
|
||||
@ -64,7 +66,8 @@ CREATE TABLE t_book_to_book_store (
|
||||
ON DELETE CASCADE
|
||||
)
|
||||
</pre>
|
||||
<p>More entities, types (e.g. UDT's, ARRAY types, ENUM types, etc),
|
||||
<p>
|
||||
More entities, types (e.g. UDT's, ARRAY types, ENUM types, etc),
|
||||
stored procedures and packages are introduced for specific examples
|
||||
</p>
|
||||
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Extend jOOQ types with custom implementations';
|
||||
print "Extend jOOQ types with custom implementations";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Extend/">Extend jOOQ types with custom implementations</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Serializability/">previous</a> : <a href="<?=$root?>/manual/META/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Extend/">Extend jOOQ types with custom implementations</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Serializability/" title="Serializability of QueryParts and Results">previous</a> : <a href="<?=$root?>/manual/META/" title="Meta model code generation">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,18 +4,151 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'The factory class';
|
||||
print "The Factory class";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "
|
||||
jOOQ hides most implementation facts from you by letting you
|
||||
use the jOOQ Factory as a single entry point to all of the jOOQ API.
|
||||
This way, you can discover all of the API using syntax auto-completion, for
|
||||
instance.
|
||||
";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Factory/">The factory class</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Table/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Factory/">The Factory class</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">previous</a> : <a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</table>
|
||||
<h2>The Factory and the jOOQ API</h2>
|
||||
<p>
|
||||
jOOQ exposes a lot of interfaces and hides most implementation facts
|
||||
from client code. The reasons for this are:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>Interface-driven design. This allows for modelling queries in a fluent API most efficiently</li>
|
||||
|
||||
<li>Reduction of complexity for client code.</li>
|
||||
|
||||
<li>API guarantee. You only depend on the exposed interfaces, not concrete (potentially dialect-specific) implementations.</li>
|
||||
|
||||
</ul>
|
||||
<p>
|
||||
The <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/impl/Factory.java">org.jooq.impl.Factory</a>
|
||||
class is the main class from where you will create all jOOQ objects.
|
||||
The Factory implements <a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/Configuration.java">org.jooq.Configuration</a>
|
||||
and needs to be instanciated with the Configuration's properties:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SQLDialect.java">org.jooq.SQLDialect</a> :
|
||||
The dialect of your database. This may be any of the currently
|
||||
supported database types</li>
|
||||
|
||||
<li>
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html">java.sql.Connection</a> :
|
||||
A JDBC Connection that will be re-used for the whole
|
||||
lifecycle of your Factory</li>
|
||||
|
||||
<li>
|
||||
<a href="https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/org/jooq/SchemaMapping.java">org.jooq.SchemaMapping</a> :
|
||||
An optional mapping of schemata. Check out the
|
||||
<a href="<?=$root?>/manual/ADVANCED/SchemaMapping/">SchemaMapping</a>
|
||||
page for details</li>
|
||||
|
||||
</ul>
|
||||
<p>If you are planning on using several RDBMS (= SQLDialects) or
|
||||
several distinct JDBC Connections in your software, this will mean
|
||||
that you have to create a new Factory every time. </p>
|
||||
|
||||
<h3>Factory subclasses</h3>
|
||||
<p>
|
||||
There are a couple of subclasses for the general Factory. Each SQL
|
||||
dialect has its own dialect-specific factory. For instance, if you're
|
||||
only using the MySQL dialect, you can choose to create a new Factory
|
||||
using any of the following types:
|
||||
</p>
|
||||
<pre class="prettyprint lang-java">
|
||||
// A general, dialect-unspecific factory
|
||||
Factory create = new Factory(connection, SQLDialect.MYSQL);
|
||||
|
||||
// A MySQL-specific factory
|
||||
MySQLFactory create = new MySQLFactory(connection);
|
||||
</pre>
|
||||
<p>
|
||||
The advantage of using a dialect-specific Factory lies in the fact,
|
||||
that you have access to more proprietary RDMBS functionality. This may
|
||||
include:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>Oracle's <a href="<?=$root?>/manual/ADVANCED/CONNECTBY/">CONNECT BY</a>
|
||||
pseudo columns and functions</li>
|
||||
|
||||
<li>MySQL's encryption functions</li>
|
||||
|
||||
<li>PL/SQL constructs, pgplsql, or any other dialect's ROUTINE-language (maybe in the future)</li>
|
||||
|
||||
</ul>
|
||||
<p>
|
||||
Another type of Factory subclasses are each generated schema's
|
||||
factories. If you generate your schema TEST, then you will have access
|
||||
to a TestFactory. This will be useful in the future, when access to
|
||||
schema artefacts will be unified. Currently, this has no use.
|
||||
</p>
|
||||
|
||||
<h3>Potential problems</h3>
|
||||
<p>
|
||||
The jOOQ Factory expects its underlying
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/Connection.html">java.sql.Connection</a>
|
||||
to be <strong>open and ready</strong>
|
||||
for
|
||||
<a href="http://download.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html">java.sql.PreparedStatement</a>
|
||||
creation. You are responsible yourself for the
|
||||
lifecycle dependency between Factory and Connection. This means:
|
||||
</p>
|
||||
<ul>
|
||||
|
||||
<li>jOOQ will never close the Connection.</li>
|
||||
|
||||
<li>jOOQ will never commit or rollback on the Connection
|
||||
(Except for CSV-imports, if explicitly configured in the <a href="<?=$root?>/manual/ADVANCED/Import/">Import API</a>)</li>
|
||||
|
||||
<li>jOOQ will never start any transactions.</li>
|
||||
|
||||
<li>
|
||||
jOOQ does not know the concept of a session as for instance
|
||||
<a href="http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/architecture.html#architecture-current-session">Hibernate</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li>jOOQ does not know the concept of a second-level cache. SQL is
|
||||
executed directly on the underlying RDBMS.</li>
|
||||
|
||||
<li>jOOQ does not make assumptions about the origin of the Connection.
|
||||
If it is container managed, that is fine.</li>
|
||||
|
||||
</ul>
|
||||
<p>
|
||||
So if you want your queries to run in separate transactions, if you
|
||||
want to roll back a transactions, if you want to close a Connection and
|
||||
return it to your container, you will have to take care of that
|
||||
yourself. jOOQ's Factory will always expect its Connection to be in a
|
||||
ready state for creating new PreparedStatements. If it is not, you have
|
||||
to create a new Factory.
|
||||
</p>
|
||||
<p>
|
||||
Please keep in mind that many jOOQ objects will reference your Factory
|
||||
for their whole lifecycle. This is especially interesting, when dealing
|
||||
with <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a>,
|
||||
that can perform CRUD operations on the
|
||||
Factory's underlying Connection.
|
||||
</p>
|
||||
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Query and its subtypes';
|
||||
print "Query and its subtypes";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Query/">Query and its subtypes</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">previous</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Query/">Query and its subtypes</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Updatable Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="ResultQuery and various ways of fetching data">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'QueryParts and the global architecture';
|
||||
print "QueryParts and the global architecture";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/">QueryParts and the global architecture</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/ResultQuery/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/">QueryParts and the global architecture</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/ResultQuery/" title="ResultQuery and various ways of fetching data">previous</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/" title="Serializability of QueryParts and Results">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Results and Records';
|
||||
print "Results and Records";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Result/">Results and Records</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Table/">previous</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Result/">Results and Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">previous</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/" title="Updatable Records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'ResultQuery and various ways of fetching data';
|
||||
print "ResultQuery and various ways of fetching data";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/">ResultQuery and various ways of fetching data</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Query/">previous</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/ResultQuery/">ResultQuery and various ways of fetching data</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Query/" title="Query and its subtypes">previous</a> : <a href="<?=$root?>/manual/JOOQ/QueryPart/" title="QueryParts and the global architecture">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Serializability of QueryParts and Results';
|
||||
print "Serializability of QueryParts and Results";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/">Serializability of QueryParts and Results</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/QueryPart/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Extend/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Serializability/">Serializability of QueryParts and Results</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/QueryPart/" title="QueryParts and the global architecture">previous</a> : <a href="<?=$root?>/manual/JOOQ/Extend/" title="Extend jOOQ types with custom implementations">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Tables and Fields';
|
||||
print "Tables and Fields";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/Table/">Tables and Fields</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Factory/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Result/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/Table/">Tables and Fields</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">previous</a> : <a href="<?=$root?>/manual/JOOQ/Result/" title="Results and Records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,15 +4,17 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print 'Updatable Records';
|
||||
print "Updatable Records";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Result/">previous</a> : <a href="<?=$root?>/manual/JOOQ/Query/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a> : <a href="<?=$root?>/manual/JOOQ/UpdatableRecord/">Updatable Records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Result/" title="Results and Records">previous</a> : <a href="<?=$root?>/manual/JOOQ/Query/" title="Query and its subtypes">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
|
||||
@ -4,23 +4,23 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../frame.php';
|
||||
function printH1() {
|
||||
print 'jOOQ classes and their use';
|
||||
print "jOOQ classes and their usage";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "
|
||||
In these sections, you will learn about how to use jOOQ object
|
||||
factories and the jOOQ object oriented query model, to express
|
||||
your SQL in jOOQ
|
||||
";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a></td><td align="right"><a href="<?=$root?>/manual/">previous</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/" title="The jOOQ User Manual">previous</a> : <a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
In this section, you will learn about how to use jOOQ object
|
||||
factories and the jOOQ object oriented query model, to express
|
||||
your
|
||||
SQL in jOOQ
|
||||
</p>
|
||||
<h2>Overview</h2>
|
||||
<p>jOOQ essentially has two packages:</p>
|
||||
<ul>
|
||||
@ -31,14 +31,16 @@ function printContent() {
|
||||
|
||||
<li>org.jooq.impl: the jOOQ implementation and factories. Most
|
||||
implementation classes are package private, you can only access
|
||||
them using the org.jooq.impl.Factory
|
||||
</li>
|
||||
them using the <a href="<?=$root?>/manual/JOOQ/Factory/">org.jooq.impl.Factory</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<p>
|
||||
This section is about the main jOOQ classes and the global
|
||||
architecture. Most of the time, however, you will be using the DSL
|
||||
API (DSL for Domain Specific Language) in order to create queries
|
||||
architecture. Most of the time, however, you will be using the
|
||||
<a href="<?=$root?>/manual/DSL/">DSL or fluent API</a>
|
||||
in order to create queries
|
||||
the way you're used to in SQL
|
||||
</p>
|
||||
<h3>Table of contents</h3><ol>
|
||||
@ -46,7 +48,7 @@ function printContent() {
|
||||
<a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">The example database</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/Factory/" title="The factory class">The factory class</a>
|
||||
<a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">The Factory class</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">Tables and Fields</a>
|
||||
|
||||
23
jOOQ-website/manual/META/Configuration/index.php
Normal file
23
jOOQ-website/manual/META/Configuration/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Configuration and setup";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/Configuration/">Configuration and setup</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/" title="Meta model code generation">previous</a> : <a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/META/PROCEDURE/index.php
Normal file
23
jOOQ-website/manual/META/PROCEDURE/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Procedures and packages";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/PROCEDURE/">Procedures and packages</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">previous</a> : <a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/META/SCHEMA/index.php
Normal file
23
jOOQ-website/manual/META/SCHEMA/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Schemata";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SCHEMA/">Schemata</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">previous</a> : <a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/META/SEQUENCE/index.php
Normal file
23
jOOQ-website/manual/META/SEQUENCE/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Sequences";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/SEQUENCE/">Sequences</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">previous</a> : <a href="<?=$root?>/manual/DSL/" title="DSL or fluent API">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/META/TABLE/index.php
Normal file
23
jOOQ-website/manual/META/TABLE/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "Tables and views and their corresponding records";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/TABLE/">Tables and views and their corresponding records</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">previous</a> : <a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
23
jOOQ-website/manual/META/UDT/index.php
Normal file
23
jOOQ-website/manual/META/UDT/index.php
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
<?php
|
||||
// The following content has been XSL transformed from manual.xml using html-pages.xsl
|
||||
// Please do not edit this content manually
|
||||
require '../../../frame.php';
|
||||
function printH1() {
|
||||
print "UDT's including ARRAY and ENUM types";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a> : <a href="<?=$root?>/manual/META/UDT/">UDT's including ARRAY and ENUM types</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">previous</a> : <a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@ -4,17 +4,38 @@
|
||||
// Please do not edit this content manually
|
||||
require '../../frame.php';
|
||||
function printH1() {
|
||||
print 'Meta model source code generation';
|
||||
print "Meta model code generation";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model source code generation</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/Extend/">previous</a> : <a href="<?=$root?>/manual/DSL/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a> : <a href="<?=$root?>/manual/META/">Meta model code generation</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/Extend/" title="Extend jOOQ types with custom implementations">previous</a> : <a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</table><h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">Configuration and setup</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">Schemata</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">Tables and views and their corresponding records</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">Procedures and packages</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">UDT's including ARRAY and ENUM types</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">Sequences</a>
|
||||
</li>
|
||||
</ol>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
@ -4,79 +4,90 @@
|
||||
// Please do not edit this content manually
|
||||
require '../frame.php';
|
||||
function printH1() {
|
||||
print 'The jOOQ User Manual';
|
||||
print "The jOOQ User Manual";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "
|
||||
Learn about jOOQ using its single or multi-paged manuals
|
||||
";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left"><a href="<?=$root?>/manual/">The jOOQ User Manual</a></td><td align="right"><a href="<?=$root?>/manual/JOOQ/">next</a></td>
|
||||
<td align="left" valign="top"><a href="<?=$root?>/manual/">The jOOQ User Manual</a></td><td align="right" valign="top" style="white-space: nowrap"><a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their usage">next</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p>
|
||||
The manual is divided in these sections
|
||||
<ul>
|
||||
|
||||
<h3>Single-paged manuals</h3>
|
||||
<p>Coming soon in the manuals section of the jOOQ website:</p>
|
||||
<ul>
|
||||
|
||||
<li>A single-paged HTML manual</li>
|
||||
|
||||
<li>A downloadable PDF manual</li>
|
||||
|
||||
</ul>
|
||||
<h3>The multi-paged manual</h3>
|
||||
<p>This manual is divided into four main sections:</p>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their use</a>
|
||||
|
||||
|
||||
<a href="<?=$root?>/manual/JOOQ/">jOOQ classes and their usage</a>
|
||||
|
||||
<p>
|
||||
See these chapters for an overview of the jOOQ internal architecture
|
||||
and all types that are involved with jOOQ's query creation and
|
||||
execution. This is the important part for you, also, if you wish to
|
||||
extend jOOQ
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/META/">Meta model source code generation</a>
|
||||
|
||||
<p>
|
||||
See these chapters to understand how you can use jOOQ as a source code
|
||||
generator, and what type of artefacts are generated by jOOQ
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/DSL/">DSL support</a>
|
||||
|
||||
<p>
|
||||
See these chapters to learn about how to use jOOQ in every day's work. The
|
||||
jOOQ DSL is the main way to create and execute jOOQ queries almost as
|
||||
if SQL was embedded in Java directly
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/Advanced/">Advanced topics</a>
|
||||
|
||||
<p>
|
||||
Some advanced topics including not-everyday functionality
|
||||
</p>
|
||||
|
||||
See these chapters for an overview of the jOOQ internal architecture
|
||||
and all types that are involved with jOOQ's query creation and
|
||||
execution. This is the important part for you, also, if you wish to
|
||||
extend jOOQ
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/META/">Meta model code generation</a>
|
||||
|
||||
<p>
|
||||
See these chapters to understand how you can use jOOQ as a source code
|
||||
generator, and what type of artefacts are generated by jOOQ
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/DSL/">DSL or fluent API</a>
|
||||
|
||||
<p>
|
||||
See these chapters to learn about how to use jOOQ in every day's work. The
|
||||
jOOQ DSL is the main way to create and execute jOOQ queries almost as
|
||||
if SQL was embedded in Java directly
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
<li>
|
||||
|
||||
<a href="<?=$root?>/manual/ADVANCED/">Advanced topics</a>
|
||||
|
||||
<p>
|
||||
Some advanced topics including not-everyday functionality
|
||||
</p>
|
||||
|
||||
</li>
|
||||
|
||||
</p>
|
||||
</ul>
|
||||
<h3>Table of contents</h3><ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their use">jOOQ classes and their use</a>
|
||||
<a href="<?=$root?>/manual/JOOQ/" title="jOOQ classes and their usage">jOOQ classes and their usage</a>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/ExampleDatabase/" title="The example database">The example database</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/Factory/" title="The factory class">The factory class</a>
|
||||
<a href="<?=$root?>/manual/JOOQ/Factory/" title="The Factory class">The Factory class</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/JOOQ/Table/" title="Tables and Fields">Tables and Fields</a>
|
||||
@ -105,13 +116,94 @@ function printContent() {
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/" title="Meta model source code generation">Meta model source code generation</a>
|
||||
<a href="<?=$root?>/manual/META/" title="Meta model code generation">Meta model code generation</a>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/Configuration/" title="Configuration and setup">Configuration and setup</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/" title="DSL support">DSL support</a>
|
||||
<a href="<?=$root?>/manual/META/SCHEMA/" title="Schemata">Schemata</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/Advanced/" title="Advanced topics">Advanced topics</a>
|
||||
<a href="<?=$root?>/manual/META/TABLE/" title="Tables and views and their corresponding records">Tables and views and their corresponding records</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/PROCEDURE/" title="Procedures and packages">Procedures and packages</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/UDT/" title="UDT's including ARRAY and ENUM types">UDT's including ARRAY and ENUM types</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/META/SEQUENCE/" title="Sequences">Sequences</a>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/" title="DSL or fluent API">DSL or fluent API</a>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/SELECT/" title="Complete SELECT syntax">Complete SELECT syntax</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CONDITION/" title="Conditions">Conditions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/ALIAS/" title="Aliased tables and fields">Aliased tables and fields</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/IN/" title="Nested select statements using the IN operator">Nested select statements using the IN operator</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/EXISTS/" title="Nested select statements using the EXISTS operator">Nested select statements using the EXISTS operator</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/NESTED/" title="Other types of nested selects">Other types of nested selects</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/UNION/" title="UNION and other set operations">UNION and other set operations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/FUNCTIONS/" title="Functions, aggregate operators, and window functions">Functions, aggregate operators, and window functions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/PROCEDURES/" title="Stored procedures and functions">Stored procedures and functions</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/ARITHMETIC/" title="Arithmetic operations">Arithmetic operations</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CASE/" title="The CASE clause">The CASE clause</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/CAST/" title="Type casting">Type casting</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/DSL/SQL/" title="When it's just much easier: Plain SQL">When it's just much easier: Plain SQL</a>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/" title="Advanced topics">Advanced topics</a>
|
||||
<ol>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/MasterData/" title="Master data generation">Master data generation</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/SchemaMapping/" title="Mapping generated schemata and tables to productive environments">Mapping generated schemata and tables to productive environments</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/OracleHints/" title="Adding Oracle hints to queries">Adding Oracle hints to queries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/CONNECTBY/" title="The Oracle CONNECT BY clause for hierarchical queries">The Oracle CONNECT BY clause for hierarchical queries</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/Export/" title="Exporting data to XML, CSV, JSON, HTML, Text">Exporting data to XML, CSV, JSON, HTML, Text</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="<?=$root?>/manual/ADVANCED/Import/" title="Importing data from XML, CSV">Importing data from XML, CSV</a>
|
||||
</li>
|
||||
</ol>
|
||||
</li>
|
||||
</ol>
|
||||
<?php
|
||||
|
||||
@ -3,7 +3,7 @@ require 'frame.php';
|
||||
function printH1() {
|
||||
print 'The history of jOOQ';
|
||||
}
|
||||
function printSlogan() {}
|
||||
function getSlogan() {}
|
||||
function printContent() {
|
||||
$contents = file('inc/RELEASENOTES.txt');
|
||||
|
||||
|
||||
@ -7,6 +7,8 @@
|
||||
<xsl:param name="sectionID"/>
|
||||
<xsl:param name="relativePath"/>
|
||||
|
||||
<xsl:variable name="apos">'</xsl:variable>
|
||||
|
||||
<!-- Main match -->
|
||||
|
||||
<xsl:template match="/">
|
||||
@ -18,11 +20,15 @@ require '</xsl:text>
|
||||
<xsl:value-of select="$relativePath"/>
|
||||
<xsl:text disable-output-escaping="yes">frame.php';
|
||||
function printH1() {
|
||||
print '</xsl:text>
|
||||
<xsl:apply-templates select="//section[@id = $sectionID]" mode="title"/>
|
||||
<xsl:text disable-output-escaping="yes">';
|
||||
print "</xsl:text>
|
||||
<xsl:value-of select="//section[@id = $sectionID]/title"/>
|
||||
<xsl:text disable-output-escaping="yes">";
|
||||
}
|
||||
function getSlogan() {
|
||||
return "</xsl:text>
|
||||
<xsl:value-of select="//section[@id = $sectionID]/slogan"/>
|
||||
<xsl:text disable-output-escaping="yes">";
|
||||
}
|
||||
function printSlogan() {}
|
||||
function printContent() {
|
||||
global $root;
|
||||
?>
|
||||
@ -37,17 +43,13 @@ function printContent() {
|
||||
|
||||
<!-- matching templates -->
|
||||
|
||||
<xsl:template match="//section[@id = $sectionID]" mode="title">
|
||||
<xsl:value-of select="title"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="//section[@id = $sectionID]" mode="content">
|
||||
<table cellpadding="0" cellspacing="0" border="0" width="100%">
|
||||
<tr>
|
||||
<td align="left">
|
||||
<td align="left" valign="top">
|
||||
<xsl:apply-templates select="." mode="breadcrumb"/>
|
||||
</td>
|
||||
<td align="right">
|
||||
<td align="right" valign="top" style="white-space: nowrap">
|
||||
<xsl:apply-templates select="." mode="prev-next"/>
|
||||
</td>
|
||||
</tr>
|
||||
@ -103,7 +105,7 @@ function printContent() {
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:if test="$prev">
|
||||
<a href="{$prevhref}">previous</a>
|
||||
<a href="{$prevhref}" title="{$prev/title}">previous</a>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$prev and $next">
|
||||
@ -111,7 +113,7 @@ function printContent() {
|
||||
</xsl:if>
|
||||
|
||||
<xsl:if test="$next">
|
||||
<a href="{$nexthref}">next</a>
|
||||
<a href="{$nexthref}" title="{$next/title}">next</a>
|
||||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
@ -182,9 +184,49 @@ function printContent() {
|
||||
|
||||
<a>
|
||||
<xsl:attribute name="href">
|
||||
<xsl:apply-templates select="//section[@id = $id]" mode="href"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="@id">
|
||||
<xsl:apply-templates select="//section[@id = $id]" mode="href"/>
|
||||
|
||||
<xsl:if test="not(//section[@id = $id])">
|
||||
<xsl:message>
|
||||
<xsl:text>Reference not found: </xsl:text>
|
||||
<xsl:value-of select="$id"/>
|
||||
</xsl:message>
|
||||
</xsl:if>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@class and starts-with(@class, 'org.jooq')">
|
||||
<xsl:text>https://github.com/lukaseder/jOOQ/blob/master/jOOQ/src/main/java/</xsl:text>
|
||||
<xsl:value-of select="translate(@class, '.', '/')"/>
|
||||
<xsl:text>.java</xsl:text>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:when test="@class and starts-with(@class, 'java')">
|
||||
<xsl:text>http://download.oracle.com/javase/6/docs/api/</xsl:text>
|
||||
<xsl:value-of select="translate(@class, '.', '/')"/>
|
||||
<xsl:text>.html</xsl:text>
|
||||
</xsl:when>
|
||||
|
||||
<xsl:otherwise>
|
||||
<xsl:message>
|
||||
<xsl:text>Reference not supported</xsl:text>
|
||||
</xsl:message>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:attribute>
|
||||
<xsl:value-of select="//section[@id = $id]/title"/>
|
||||
|
||||
<xsl:choose>
|
||||
<xsl:when test="@title">
|
||||
<xsl:value-of select="@title"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@id">
|
||||
<xsl:value-of select="//section[@id = $id]/title"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="@class">
|
||||
<xsl:value-of select="@class"/>
|
||||
</xsl:when>
|
||||
</xsl:choose>
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
|
||||
@ -2,53 +2,60 @@
|
||||
<manual>
|
||||
<section id="manual">
|
||||
<title>The jOOQ User Manual</title>
|
||||
<slogan>
|
||||
Learn about jOOQ using its single or multi-paged manuals
|
||||
</slogan>
|
||||
<content>
|
||||
<p>
|
||||
The manual is divided in these sections
|
||||
<ul>
|
||||
<li>
|
||||
<reference id="JOOQ"/>
|
||||
<p>
|
||||
See these chapters for an overview of the jOOQ internal architecture
|
||||
and all types that are involved with jOOQ's query creation and
|
||||
execution. This is the important part for you, also, if you wish to
|
||||
extend jOOQ
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="META"/>
|
||||
<p>
|
||||
See these chapters to understand how you can use jOOQ as a source code
|
||||
generator, and what type of artefacts are generated by jOOQ
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="DSL"/>
|
||||
<p>
|
||||
See these chapters to learn about how to use jOOQ in every day's work. The
|
||||
jOOQ DSL is the main way to create and execute jOOQ queries almost as
|
||||
if SQL was embedded in Java directly
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="Advanced"/>
|
||||
<p>
|
||||
Some advanced topics including not-everyday functionality
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</p>
|
||||
<h3>Single-paged manuals</h3>
|
||||
<p>Coming soon in the manuals section of the jOOQ website:</p>
|
||||
<ul>
|
||||
<li>A single-paged HTML manual</li>
|
||||
<li>A downloadable PDF manual</li>
|
||||
</ul>
|
||||
<h3>The multi-paged manual</h3>
|
||||
<p>This manual is divided into four main sections:</p>
|
||||
<ul>
|
||||
<li>
|
||||
<reference id="JOOQ"/>
|
||||
<p>
|
||||
See these chapters for an overview of the jOOQ internal architecture
|
||||
and all types that are involved with jOOQ's query creation and
|
||||
execution. This is the important part for you, also, if you wish to
|
||||
extend jOOQ
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="META"/>
|
||||
<p>
|
||||
See these chapters to understand how you can use jOOQ as a source code
|
||||
generator, and what type of artefacts are generated by jOOQ
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="DSL"/>
|
||||
<p>
|
||||
See these chapters to learn about how to use jOOQ in every day's work. The
|
||||
jOOQ DSL is the main way to create and execute jOOQ queries almost as
|
||||
if SQL was embedded in Java directly
|
||||
</p>
|
||||
</li>
|
||||
<li>
|
||||
<reference id="ADVANCED"/>
|
||||
<p>
|
||||
Some advanced topics including not-everyday functionality
|
||||
</p>
|
||||
</li>
|
||||
</ul>
|
||||
</content>
|
||||
<sections>
|
||||
<section id="JOOQ">
|
||||
<title>jOOQ classes and their usage</title>
|
||||
<slogan>
|
||||
In these sections, you will learn about how to use jOOQ object
|
||||
factories and the jOOQ object oriented query model, to express
|
||||
your SQL in jOOQ
|
||||
</slogan>
|
||||
<content>
|
||||
<p>
|
||||
In this section, you will learn about how to use jOOQ object
|
||||
factories and the jOOQ object oriented query model, to express
|
||||
your
|
||||
SQL in jOOQ
|
||||
</p>
|
||||
<h2>Overview</h2>
|
||||
<p>jOOQ essentially has two packages:</p>
|
||||
<ul>
|
||||
@ -57,25 +64,27 @@
|
||||
</li>
|
||||
<li>org.jooq.impl: the jOOQ implementation and factories. Most
|
||||
implementation classes are package private, you can only access
|
||||
them using the org.jooq.impl.Factory
|
||||
them using the <reference id="Factory" title="org.jooq.impl.Factory"/>
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
This section is about the main jOOQ classes and the global
|
||||
architecture. Most of the time, however, you will be using the DSL
|
||||
API (DSL for Domain Specific Language) in order to create queries
|
||||
architecture. Most of the time, however, you will be using the
|
||||
<reference id="DSL" />
|
||||
in order to create queries
|
||||
the way you're used to in SQL
|
||||
</p>
|
||||
</content>
|
||||
<sections>
|
||||
<section id="ExampleDatabase">
|
||||
<title>The example database</title>
|
||||
<slogan>
|
||||
For the examples in this manual, the same database will always be
|
||||
referred to. It essentially consists of these entities created using
|
||||
the Oracle dialect
|
||||
</slogan>
|
||||
<content>
|
||||
<p>
|
||||
For the examples in this manual, the same database will always be
|
||||
referred to. It essentially contains of these entities (for
|
||||
example in the Oracle dialect):
|
||||
</p>
|
||||
<h2>Example CREATE TABLE statements</h2>
|
||||
<pre class="prettyprint lang-sql">
|
||||
CREATE TABLE t_language (
|
||||
id NUMBER(7) NOT NULL PRIMARY KEY,
|
||||
@ -120,13 +129,125 @@ CREATE TABLE t_book_to_book_store (
|
||||
ON DELETE CASCADE
|
||||
)
|
||||
</pre>
|
||||
<p>More entities, types (e.g. UDT's, ARRAY types, ENUM types, etc),
|
||||
<p>
|
||||
More entities, types (e.g. UDT's, ARRAY types, ENUM types, etc),
|
||||
stored procedures and packages are introduced for specific examples
|
||||
</p>
|
||||
</content>
|
||||
</section>
|
||||
<section id="Factory">
|
||||
<title>The factory class</title>
|
||||
<title>The Factory class</title>
|
||||
<slogan>
|
||||
jOOQ hides most implementation facts from you by letting you
|
||||
use the jOOQ Factory as a single entry point to all of the jOOQ API.
|
||||
This way, you can discover all of the API using syntax auto-completion, for
|
||||
instance.
|
||||
</slogan>
|
||||
<content>
|
||||
<h2>The Factory and the jOOQ API</h2>
|
||||
<p>
|
||||
jOOQ exposes a lot of interfaces and hides most implementation facts
|
||||
from client code. The reasons for this are:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Interface-driven design. This allows for modelling queries in a fluent API most efficiently</li>
|
||||
<li>Reduction of complexity for client code.</li>
|
||||
<li>API guarantee. You only depend on the exposed interfaces, not concrete (potentially dialect-specific) implementations.</li>
|
||||
</ul>
|
||||
<p>
|
||||
The <reference class="org.jooq.impl.Factory"/>
|
||||
class is the main class from where you will create all jOOQ objects.
|
||||
The Factory implements <reference class="org.jooq.Configuration"/>
|
||||
and needs to be instanciated with the Configuration's properties:
|
||||
</p>
|
||||
<ul>
|
||||
<li><reference class="org.jooq.SQLDialect"/> :
|
||||
The dialect of your database. This may be any of the currently
|
||||
supported database types</li>
|
||||
<li><reference class="java.sql.Connection"/> :
|
||||
A JDBC Connection that will be re-used for the whole
|
||||
lifecycle of your Factory</li>
|
||||
<li><reference class="org.jooq.SchemaMapping"/> :
|
||||
An optional mapping of schemata. Check out the
|
||||
<reference id="SchemaMapping" title="SchemaMapping"/>
|
||||
page for details</li>
|
||||
</ul>
|
||||
<p>If you are planning on using several RDBMS (= SQLDialects) or
|
||||
several distinct JDBC Connections in your software, this will mean
|
||||
that you have to create a new Factory every time. </p>
|
||||
|
||||
<h3>Factory subclasses</h3>
|
||||
<p>
|
||||
There are a couple of subclasses for the general Factory. Each SQL
|
||||
dialect has its own dialect-specific factory. For instance, if you're
|
||||
only using the MySQL dialect, you can choose to create a new Factory
|
||||
using any of the following types:
|
||||
</p>
|
||||
<pre class="prettyprint lang-java">
|
||||
// A general, dialect-unspecific factory
|
||||
Factory create = new Factory(connection, SQLDialect.MYSQL);
|
||||
|
||||
// A MySQL-specific factory
|
||||
MySQLFactory create = new MySQLFactory(connection);
|
||||
</pre>
|
||||
<p>
|
||||
The advantage of using a dialect-specific Factory lies in the fact,
|
||||
that you have access to more proprietary RDMBS functionality. This may
|
||||
include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Oracle's <reference id="CONNECTBY" title="CONNECT BY"/>
|
||||
pseudo columns and functions</li>
|
||||
<li>MySQL's encryption functions</li>
|
||||
<li>PL/SQL constructs, pgplsql, or any other dialect's ROUTINE-language (maybe in the future)</li>
|
||||
</ul>
|
||||
<p>
|
||||
Another type of Factory subclasses are each generated schema's
|
||||
factories. If you generate your schema TEST, then you will have access
|
||||
to a TestFactory. This will be useful in the future, when access to
|
||||
schema artefacts will be unified. Currently, this has no use.
|
||||
</p>
|
||||
|
||||
<h3>Potential problems</h3>
|
||||
<p>
|
||||
The jOOQ Factory expects its underlying
|
||||
<reference class="java.sql.Connection" />
|
||||
to be <strong>open and ready</strong>
|
||||
for
|
||||
<reference class="java.sql.PreparedStatement" />
|
||||
creation. You are responsible yourself for the
|
||||
lifecycle dependency between Factory and Connection. This means:
|
||||
</p>
|
||||
<ul>
|
||||
<li>jOOQ will never close the Connection.</li>
|
||||
<li>jOOQ will never commit or rollback on the Connection
|
||||
(Except for CSV-imports, if explicitly configured in the <reference id="Import" title="Import API"/>)</li>
|
||||
<li>jOOQ will never start any transactions.</li>
|
||||
<li>
|
||||
jOOQ does not know the concept of a session as for instance
|
||||
<a href="http://docs.jboss.org/hibernate/core/3.6/reference/en-US/html/architecture.html#architecture-current-session">Hibernate</a>
|
||||
</li>
|
||||
<li>jOOQ does not know the concept of a second-level cache. SQL is
|
||||
executed directly on the underlying RDBMS.</li>
|
||||
<li>jOOQ does not make assumptions about the origin of the Connection.
|
||||
If it is container managed, that is fine.</li>
|
||||
</ul>
|
||||
<p>
|
||||
So if you want your queries to run in separate transactions, if you
|
||||
want to roll back a transactions, if you want to close a Connection and
|
||||
return it to your container, you will have to take care of that
|
||||
yourself. jOOQ's Factory will always expect its Connection to be in a
|
||||
ready state for creating new PreparedStatements. If it is not, you have
|
||||
to create a new Factory.
|
||||
</p>
|
||||
<p>
|
||||
Please keep in mind that many jOOQ objects will reference your Factory
|
||||
for their whole lifecycle. This is especially interesting, when dealing
|
||||
with <reference id="UpdatableRecord" title="Updatable Records"/>,
|
||||
that can perform CRUD operations on the
|
||||
Factory's underlying Connection.
|
||||
</p>
|
||||
</content>
|
||||
</section>
|
||||
<section id="Table">
|
||||
<title>Tables and Fields</title>
|
||||
@ -155,7 +276,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
</sections>
|
||||
</section>
|
||||
<section id="META">
|
||||
<title>Meta model source code generation</title>
|
||||
<title>Meta model code generation</title>
|
||||
<sections>
|
||||
<section id="Configuration">
|
||||
<title>Configuration and setup</title>
|
||||
@ -178,7 +299,7 @@ CREATE TABLE t_book_to_book_store (
|
||||
</sections>
|
||||
</section>
|
||||
<section id="DSL">
|
||||
<title>DSL support</title>
|
||||
<title>DSL or fluent API</title>
|
||||
<sections>
|
||||
<section id="SELECT">
|
||||
<title>Complete SELECT syntax</title>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user