org.nutz.dao.jdbc
接口 JdbcExpert

所有已知实现类:
AbstractJdbcExpert, Db2JdbcExpert, DerbyJdbcExpert, H2JdbcExpert, HsqldbJdbcExpert, MysqlJdbcExpert, OracleJdbcExpert, PsqlJdbcExpert, SQLiteJdbcExpert, Sqlserver2000JdbcExpert, Sqlserver2005JdbcExpert, Sqlserver2012JdbcExpert

public interface JdbcExpert

封装各个数据库 JDBC 驱动的不同

这个接口的实现类的实例会被 Nutz.Dao 长期持有,所有请保证其线程安全

作者:
zozoh(zozohtnt@gmail.com)

方法摘要
 boolean createEntity(Dao dao, Entity<?> en)
          根据实体信息,返回某实体的建表语句
 Pojo createPojo(SqlType type)
          根据类型创建一个 SQL 语句的实例
 boolean dropEntity(Dao dao, Entity<?> en)
          根据实体信息,返回某实体的删表语句
 void formatQuery(DaoStatement daoStatement)
          根据 Dao 查询语句,以及其翻页信息,对其进行格式化
 ValueAdaptor getAdaptor(MappingField ef)
          根据字段类型为其获取一个字段适配器
 java.util.Map<java.lang.String,java.lang.Object> getConf()
           
 java.lang.String getDatabaseType()
           
 void setupEntityField(java.sql.Connection conn, Entity<?> en)
          通过访问数据库,为实体的映射字段设置约束 实体类在解析的时候会用到这个函数
 

方法详细信息

getConf

java.util.Map<java.lang.String,java.lang.Object> getConf()
返回:
当前的配置信息

getDatabaseType

java.lang.String getDatabaseType()
返回:
当前数据库类型,名称参见 DB 这个枚举类型
另请参见:
DB

createPojo

Pojo createPojo(SqlType type)
根据类型创建一个 SQL 语句的实例

参数:
type - POJO 语句的 SQL 类型
返回:
创建本数据库特有的 POJO 语句实现类
另请参见:
SqlType

createEntity

boolean createEntity(Dao dao,
                     Entity<?> en)
根据实体信息,返回某实体的建表语句

参数:
en - 实体
返回:
是否创建成功

dropEntity

boolean dropEntity(Dao dao,
                   Entity<?> en)
根据实体信息,返回某实体的删表语句

参数:
en - 实体
返回:
是否删除成功

getAdaptor

ValueAdaptor getAdaptor(MappingField ef)
根据字段类型为其获取一个字段适配器

参数:
ef - 实体数据库映射字段
返回:
ValueAdaptor 工厂类的实例

setupEntityField

void setupEntityField(java.sql.Connection conn,
                      Entity<?> en)
通过访问数据库,为实体的映射字段设置约束

实体类在解析的时候会用到这个函数

参数:
conn - 数据库连接
en - 实体

formatQuery

void formatQuery(DaoStatement daoStatement)
根据 Dao 查询语句,以及其翻页信息,对其进行格式化

参数:
daoStatement - Dao 语句