2 * This file is part of yosql. It is subject to the license terms in the LICENSE file found in the top-level
3 * directory of this distribution and at https://creativecommons.org/publicdomain/zero/1.0/. No part of yosql,
4 * including this file, may be copied, modified, propagated, or distributed except according to the terms contained
8 package wtf
.metio
.yosql
.dao
.jdbc
;
10 import com
.squareup
.javapoet
.CodeBlock
;
13 * Entry point for methods of the JDBC API. Nested interfaces are used to distinguish the source of the methods.
15 public interface JdbcMethods
{
17 JdbcDataSourceMethods
dataSource();
19 JdbcConnectionMethods
connection();
21 JdbcDatabaseMetaDataMethods
databaseMetaData();
23 JdbcResultSetMethods
resultSet();
24 JdbcResultSetMetaDataMethods
resultSetMetaData();
26 JdbcStatementMethods
statement();
29 * Methods that are exposed by a JDBC DataSource object.
31 * @see javax.sql.DataSource
33 interface JdbcDataSourceMethods
{
34 CodeBlock
getConnection();
38 * Methods that are exposed by a JDBC Connection object.
40 * @see java.sql.Connection
42 interface JdbcConnectionMethods
{
43 CodeBlock
prepareStatement();
45 CodeBlock
prepareCallable();
47 CodeBlock
getMetaData();
50 interface JdbcDatabaseMetaDataMethods
{
51 CodeBlock
getDatabaseProductName();
55 * Methods that are exposed by a JDBC ResultSet object.
57 * @see java.sql.ResultSet
59 interface JdbcResultSetMethods
{
60 CodeBlock
getMetaData();
64 * Methods that are exposed by a JDBC ResultSetMetaData object.
66 * @see java.sql.ResultSetMetaData
68 interface JdbcResultSetMetaDataMethods
{
69 CodeBlock
getColumnCount();
73 * Methods that are exposed by a JDBC Statement object.
75 * @see java.sql.Statement
76 * @see java.sql.PreparedStatement
78 interface JdbcStatementMethods
{
79 CodeBlock
executeQuery();
81 CodeBlock
executeUpdate();
83 CodeBlock
executeBatch();
87 CodeBlock
getResultSet();