package com.seasky.database.core;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Collection;
/** 类名:OperationCoreImplements<br>
*
* 作用: 该类实现IOperationCore接口的所有方法<br>
*
* 创建人:sea<br>
*
* 创建日期:2008.11.11<br> */
public class OperationCoreImpl implements IOperationCore {
protected Connection aConnection = null;
protected Statement aStatement = null;
protected ResultSet aResultSet = null;
protected ResultSetMetaData rsmd = null;
protected static OperationCoreImpl m_instance = null;
/** Singleton 即单例(态)模式,用来生成对象唯一实例的方法
*
* @return OperationCoreImplements的一个实例
* @throws Exception */
public static OperationCoreImpl createFactory() throws Exception {
if(m_instance==null)
m_instance=new OperationCoreImpl();
return m_instance;
}
/** @exception Exception */
public OperationCoreImpl() throws Exception {
init();
}
private void init() throws Exception{
aConnection=ConnectionFactory.getConnection();
}
/**
* 释放系统连接资源
*/
public void dispose() {
try {
if(aResultSet!=null)
aResultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(aStatement!=null)
aStatement.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
if(aConnection!=null)
aConnection.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
/** sql更新语句
*
* @param queryString 查询语句
* @return 返回一个<code>ResultSet</code>结果集
*
* @exception SQLException */
public ResultSet executeQuery(String queryString) {
try {
aStatement = aConnection.createStatement();
aResultSet = aStatement.executeQuery(queryString);
} catch (SQLException e) {
aResultSet=null;
e.printStackTrace();
}
return aResultSet;
}
/**
* sql更新语句
*
* @param updateString 数据库更新语句
* @return 更新数据库影响行数
*
* @exception SQLException */
public int executeUpdate(String updateString) {
int effectedRows=0;
try{
aConnection.setAutoCommit(false);
aStatement = aConnection.createStatement();
effectedRows = aStatement.executeUpdate(updateString);
aConnection.commit();
}catch(SQLException ex){
System.out.println("数据库写操作失败!");
if(aConnection!=null)
{
try {
aConnection.rollback();
System.out.println("JDBC事务回滚成功");
} catch (SQLException e) {
System.out.println("JDBC事务回滚失败");
e.printStackTrace();
}
}
}
return effectedRows;
}
/**
* 读取queryString查询结果集<code>ResultSet</code>表中的所有列名
*
* @param queryString 用于返回<code>ResultSet</code>结果集的语句
* @return 表中的所有列名
* @throws SQLException */
public Collection<String> getColumnNames(String queryString) {
ArrayList<String> ColumnNames=new ArrayList<String>();
try {
aResultSet=executeQuery(queryString);
ResultSetMetaData rsmd=aResultSet.getMetaData();
int j=rsmd.getColumnCount();
for(int k=0;k<j;k++){
ColumnNames.add(rsmd.getColumnName(k+1));
}
} catch (SQLException e) {
ColumnNames=null;
e.printStackTrace();
}
return ColumnNames;
}
/**
* 读取queryString查询结果集<code>ResultSet</code>表中的所有字段类型名称
*
* @param queryString 用于返回查询结果集的语句
* @return 表中的所有字段类型名称
* @throws SQLException */
public Collection<String> getColumnTypeNames(String queryString) {
ArrayList<String> ColumnNames=new ArrayList<String>();
try {
aResultSet=executeQuery(queryString);
ResultSetMetaData rsmd=aResultSet.getMetaData();
int j=rsmd.getColumnCount();
for(int k=0;k<j;k++){
ColumnNames.add(rsmd.getColumnTypeName(k+1));
}
} catch (SQLException e) {
ColumnNames=null;
e.printStackTrace();
}
return ColumnNames;
}
/**
* 读取列名
*
* @param columIndex 列索引
* @param queryString 提供ResultSet二维表的查询字符串
* @return ResultSet表中的指定的列名
*
* @exception SQLException */
public String getColumnName(int columIndex, String queryString) {
String columnName=null;
try {
aResultSet=executeQuery(queryString);
rsmd=aResultSet.getMetaData();
columnName=rsmd.getColumnName(columIndex + 1);
} catch (SQLException e) {
e.printStackTrace();
}
return columnName;
}
/**
* 读取列数个数
*
* @param queryString 查询语句
* @return Transact-SQL 查询后的虚拟表的列数
*
* @exception SQLException */
public int getColumnCount(String queryString) {
int columnCount=0;
try {
aResultSet=executeQuery(queryString);
ResultSetMetaData rsmd=aResultSet.getMetaData();
columnCount = rsmd.getColumnCount();
} catch (SQLException e) {
e.printStackTrace();
}
return columnCount;
}
/**
* 读取行个数
*
* @param queryString 查询语句
* @return Transact-SQL 查询后的虚拟表的行数
*
* @exception SQLException */
public int getRowCount(String queryString) {
int rowCount=0;
try {
aResultSet=executeQuery(queryString);
while(aResultSet.next())
rowCount=aResultSet.getInt(1);
} catch (SQLException e) {
e.printStackTrace();
}
return rowCount;
}
/**
* 获取ResultSet二维表中指定位置的值,目前只支持mysql
*
* @param rowIndex 行索引
* @param columnIndex 列索引
* @param queryString 产生一个ResultSet结果集的查询语句
* @return 指定位置的数据记录
*
* @exception SQLException */
public Object getValueAt(int rowIndex, int columnIndex, String queryString) {
Object values=null;
try {
aResultSet=executeQuery(queryString);
aResultSet.absolute(rowIndex + 1);
values=aResultSet.getObject(columnIndex + 1);
} catch (SQLException e) {
e.printStackTrace();
}
return values;
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
ibatis_likehbm高效分页组件
共53个文件
java:45个
xml:5个
sql:2个
需积分: 10 35 下载量 170 浏览量
2009-03-18
17:39:39
上传
评论 1
收藏 38KB RAR 举报
温馨提示
ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件 ibatis_likehbm高效分页组件
资源推荐
资源详情
资源评论
收起资源包目录
ibatis_likehbm高效分页组件.rar (53个子文件)
src
User.xml 1KB
log4j.properties 838B
com
seasky
system
business
MenuManage.java 2KB
Menu.java 568B
pdo
Menu.java 2KB
Menu.hbm.xml 1KB
menu.sql 663B
services
hibernate
DaoFactoryUtils.java 1KB
DaoFactory.java 6KB
HibernateSessionFactory.java 2KB
database
core
DBOperationAdapter.java 5KB
test
TestgetValueAtMethod.java 599B
TestexecuteUpdateMethod.java 588B
TestgetColumnNamesMethod.java 539B
TestgetColumnNameMethod.java 565B
TestexecuteInsertMethod.java 707B
TestexecuteDeleteMethod.java 755B
TestgetColumnTypeNamesMethod.java 649B
TestexecuteQueryMethod.java 320B
TestgetColumnCountMethod.java 532B
TestgetRowCountMethod.java 597B
ConnectionFactory.java 2KB
IOperationCore.java 3KB
OperationCoreImpl.java 6KB
util
AppContextUtil.java 977B
Print.java 1KB
AppLogger.java 271B
CharProcessing.java 477B
CharEncoding.java 512B
struts
action
user
services
UserService.java 2KB
IUserService.java 471B
dao
testcase
TestUserDao.java 3KB
UserDao.java 3KB
IUserDao.java 471B
IbatisUserDao.java 4KB
dto
User.java 805B
common
core
ibatis
dao
BaseDaoiBatis.java 2KB
pager
Dialect.java 358B
PagerHelp.java 1KB
LimitSqlExecutor.java 2KB
OracleDialect.java 3KB
Pager.java 2KB
MySQLDialect.java 1KB
util
SetCharacterEncodingFilter.java 2KB
Path.java 4KB
Convert.java 4KB
Instance.java 2KB
ReflectUtil.java 2KB
Parameter.java 1KB
sqlscript
creat_data.sql 199B
applicationContext.xml 4KB
sqlmap-config.xml 240B
hibernate.cfg.xml 958B
共 53 条
- 1
资源评论
gyc567
- 粉丝: 2
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Java和MySQL的学生信息管理系统.zip
- (源码)基于ASP.NET Core的零售供应链管理系统.zip
- (源码)基于PythonSpleeter的戏曲音频处理系统.zip
- (源码)基于Spring Boot的监控与日志管理系统.zip
- (源码)基于C++的Unix V6++二级文件系统.zip
- (源码)基于Spring Boot和JPA的皮皮虾图片收集系统.zip
- (源码)基于Arduino和Python的实时歌曲信息液晶显示屏展示系统.zip
- (源码)基于C++和C混合模式的操作系统开发项目.zip
- (源码)基于Arduino的全球天气监控系统.zip
- OpenCVForUnity2.6.0.unitypackage
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功