当前位置:首页 > DAO使用手册 - 图文
使用手册
BIT = -7; TINYINT = -6; SMALLINT = 5; INTEGER = 4; BIGINT = -5; FLOAT = 6; REAL = 7; DOUBLE = 8; NUMERIC = 2; DECIMAL = 3; CHAR = 1; VARCHAR = 12; LONGVARCHAR = -1; DATE = 91; TIME = 92;
TIMESTAMP = 93; BINARY = -2; VARBINARY = -3; LONGVARBINARY = -4; NULL = 0; OTHER = 1111;
JAVA_OBJECT = 2000; DISTINCT = 2001; STRUCT = 2002; ARRAY = 2003; BLOB = 2004; CLOB = 2005; REF = 2006;
②.传入参数ARRAYLIST组织:
传入的参数类型为IN、INOUT类型,需要按照顺序放入一个ARRAYLIST传递。 ③.返回值ARRAYLIST组织:
? 内部的元素为ArrayList类型。
? 第一个元素为一维的ArrayList,内部存放的是所有参数类型为:OUT、INOUT的
值,按照顺序依此存放。(即传出的参数类型为OUT、INOUT类型)
? 后面的元素存放的是结果集或更新记录数(对于大部分存储过程不会返回此类数
据),对于结果集:返回类型是二维的ArrayList;对于更新记录数:则返回值是一维的ArrayList,内部只有一个STRING类型的元素为更新记录数。
5.4.上层应用如何使用DataSet类和DataRow类来取值
上层应用可以从DAOResult获取DataSet,然后对DataSet循环处理每条DataRow,对于DataRow,使用其getFieldValueByIndex(根据位置号取值)或getFieldValueByName(根据字段名取值,不区分大小写)两个方法取值,具体样例代码如下:
DAOResult drs = dao.select(\
使用手册
if (drs.isSuccess()) { int sqlIndex = 0;
DataSet dataSet = drs.toDataSet(sqlIndex); while (dataSet.hasNext()) {
DataRow dataRow = (DataRow)dataSet.next();
System.out.println(dataRow.getFieldValueByIndex(0)); System.out.println(dataRow.getFieldValueByName(\ System.out.println(dataRow.getFieldValueByName(\ }
5.5.上层应用在外面使用通过DAO获取的数据库连接时的注意事项
(1)、在外面的程序中使用连接,必须确保数据库连接最后能被有效的释放回去,标准代码片段如下:
Connection conn = null; Statement stmt = null;
获取连接时: try {
conn = dao.getConnectionByDatabaseName(databaseName); }
catch (SQLException ex1) {
//出现异常说明无法拿到数据库的连接,方法应该直接返回。 Return;
}
执行操作: try {
stmt = conn.createStatement(); //具体执行业务操作 }
catch (SQLException ex) {
/执行失败
}
finally {
释放连接时: try {
if (stmt != null) { stmt.close(); }
//要求先关闭statement、resultset等对象 }
catch (Exception ex) { //关闭异常 } try {
使用手册
//退还连接
dao.closeConnectionByDatabaseName(databaseName, conn); }
catch (Exception ex) { //退还连接时异常 }
} (2)、在外面的程序中使用连接,不能对其的autocommit属性做任何修改操作,如果需要使用事务,必须通过dao来管理事务。
6.原始接口函数说明
6.1.IBaseDAO函数说明
返回类型 名称 说明 java.lang.Object void Clone( ) closeConnectionByDatabaseName (java.lang.String databaseName, java.sql.Connection conn) clone in class java.lang.Object 根据数据库名称关闭数据库连接 (根据连接的获取方式作相应的动作: JDBC::直接CLOSE JDLS::RETURN CONNECTION POOL APPSERVER::直接CLOSE ) Parameters: databaseName - 数据库名称 conn - 数据库连接 Throws: java.sql.SQLException 根据任务名称关闭数据库连接 (根据连接的获取方式作相应的动作: JDBC::直接CLOSE JDLS::RETURN CONNECTION POOL APPSERVER::直接CLOSE ) void closeConnectionByTaskName (java.lang.String taskName, java.sql.Connection conn) Parameters: taskName - 任务名称 conn - 数据库连接 Throws: java.sql.SQLException 根据数据库名称获取数据库的连接 Parameters: databaseName - 数据库名称 java.sql.Connection getConnectionByDatabaseName 使用手册 (java.lang.String databaseName) conn - 数据库连接 Throws: java.sql.SQLException java.sql.Connection getConnectionByTaskName (java.lang.String taskName) 根据任务名称获取数据库的连接 Parameters: taskName - 任务名称 Throws: java.sql.SQLException
6.2.IDAO函数说明
返回类型 名称 说明 执行delete业务操作 DAOResult Delete (java.lang.String taskName, java.util.ArrayList param) Parameters: taskName -任务名称 param - (ArrayList业务参数:为二维的ArrayList) 执行delete业务操作 DAOResult deleteByDatabase (java.lang.String databaseName, java.lang.String taskName, java.util.ArrayList param) Parameters: databaseName - //数据库名 taskName -任务名称 param - (ArrayList业务参数:为二维的ArrayList) 执行SQL语句select不分页 DAOResult executeSelectSqlClause (java.lang.String taskName, java.lang.String sqlClause) Parameters: taskName – 任务名称 sqlClause –SQL语句 执行SQL语句select分页操作 DAOResult executeSelectSqlClause (java.lang.String taskName, java.lang.String sqlClause, int page_record, int curpage) Parameters: taskName -任务名称 sqlClause - SQL语句 page_record-每页行数 curpage-当前页号 executeSelectSqlClauseByDatabase 执行SQL语句select不分页 (java.lang.String databaseName, Parameters:
共分享92篇相关文档