首页 | 源码下载 | 编程控件 | 书籍教程 | 应用方案 | 设计素材 | 项目交易 | 开发文档 | 商业源码 | | 我的帐号
登陆我的帐号
帐 号:
密 码:
我还不是会员,需要注册!

截止2004年12月16日
本站源码总量RAR压缩为 4,206,733 KB。其中免费源码为 1,124,495 KB,商业源码为 3,082,238 KB
C/C++ 129,555 KB
Delphi 1,258,381 KB
Java 120,937 KB
.Net 36,886 KB
PowerBuilder 954,525 KB
Visual Basic 923,454 KB
ASP 259,795 KB
JSP 4,987 KB
其他 94,723 KB

网站动态
热门的网络视频系统
对.NET感兴趣吗?对C…
加入会员,送重量级代码!
现在下载速度大幅提高!
关于资源更新的说明
关于下载错误的原因!
源码资源网新版网站投入运…

当前位置:源码资源网首页 > 开发文档首页 > Java >利用ThreadLocal简化struts开发

利用ThreadLocal简化struts开发
人气:33 文字大小:     作者:



* 获取connection 对象* /
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


import oracle.jdbc.driver.OracleDriver;


/**
* @author sfluo
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class DBUtil {


public static Connection conn;


public static Connection getConnection ) {


try {


DriverManager.registerDriver new OracleDriver ));
conn = DriverManager.getConnection 
"jdbc:oracle:thin:@10.100.143.161:1521:gb02", "gib", "gib");
} catch  SQLException e) {
e.printStackTrace );
}


return conn;
}


}


利用ThreadLocal保存connection对象
package conn;


import java.sql.Connection;
import java.sql.SQLException;


/**
* @author sfluo
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class ConnectionManage {
private static ThreadLocal currentConn = new ThreadLocal );


public static Connection currentConnection ) {


Connection conn =  Connection) currentConn.get );
if  conn == null) {
conn = DBUtil.getConnection );
currentConn.set conn);
openTransaction );
}
return conn;
}


public static void closeConnection ) {
try {
Connection conn =  Connection) currentConn.get );
currentConn.set null);
if  conn != null) {
conn.close );
}
} catch  SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace );
}


}


public static void openTransaction ) {
try {
Connection conn = currentConnection );
conn.setAutoCommit false);
conn.setTransactionIsolation 2);
} catch  SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace );
}


}


public static void commit ) {
try {
Connection conn = currentConnection );
if  conn != null)
conn.commit );
} catch  SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace );
}


}


public static void roolback ) {
try {
Connection conn = currentConnection );
if  conn != null)
conn.rollback );
} catch  SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace );
}


}


}


被简化的dao实现
package conn;


import java.sql.PreparedStatement;


/**
* @author sfluo
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class DaoA {


public static final String sql = "insert into t_user_bnas  id_globalsession,id_dispseq) values ’11200409220000001279’,’1100’)";


void createData ) throws Exception {
PreparedStatement pstmt = ConnectionManage.currentConnection ).prepareStatement sql);


pstmt.execute );


pstmt.close );


}


}


package conn;


import java.sql.Connection;
import java.sql.PreparedStatement;


/**
* @author sfluo
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class DaoB {
Connection conn;


DaoB ) {
this.conn = ConnectionManage.currentConnection );
}


public static final String sql = "update t_user_bnas set id_1dispseq=’1111’ where id_globalsession=’11200409220000001279’";


void createData ) throws Exception {
PreparedStatement pstmt = conn.prepareStatement sql);


pstmt.execute );


pstmt.close );


}
}
测试例子
package conn;


/**
* @author sfluo
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class Test {


public static void main String args[]) {
Test test = new Test );
test.testMethod );
}


DaoA daoA = new DaoA );


DaoB daoB = new DaoB );


void testMethod ) {


try {


daoA.createData );
daoB.createData );
} catch  Exception e) {


ConnectionManage.roolback );


} finally {
ConnectionManage.closeConnection );


}
}


}



是不是很爽啊,:)



 

文章出处:   发表时间:2004-11-18 18:43:39

1条数据记录,分1页显示 上一页 < [1] > 下一页
相关文章  
[源码下载] · comicq源代码
[书籍教程] · VC++ 6.0数据库系统开发实例导航
[书籍教程] · Delphi 7数据库编程学习捷径
[书籍教程] · Delphi百例精解
[书籍教程] · DELPHI综合开发文档

相关评论  
 当前没有评论!
请登陆后再来发表评论!
当前位置:源码资源网首页 > 开发文档首页 > 利用ThreadLocal简化struts开发
会员升级 | 广告服务 | 网站开发 | 联系我们 | 网站动态 | 客户反馈

CodeRes.com 保留所有权利 2004
本站所有资源仅供学习参考,版权归原作者所有,如侵犯了您的权益请与我们联系