Java连接池 BoneCP 0.6.0 发布
我要发布新闻 收藏此篇新闻 红薯 发布于: 2009年12月28日 (6评)
BoneCP 是一个开源的快速的 JDBC 连接池。
0.6.0 版本的改进内容包括:
1. 增加通过 getAsyncConnection 方法获取异步连接的功能
2. 增加了数据库连接的回调钩子
3. 增加了用以向首次获取的连接发送一个特定的语句的功能
4. 可通过 getRawConnection() 方法直接获取到未经过 BoneCP 封装的连接对象
5. 使用 Connection.close() 方法来替换原有的 releaseConnection() 关闭连接的方法
6. 将 Hibernate 的 Provider 类移到子包中
7. 重写了性能测试类,以更直观的图形方式进行性能比较
下载 BoneCP 0.6.0
http://jolbox.com/bonecp/downloads/maven/com/jolbox/bonecp/0.6.0/bonecp-0.6.0.jar
......
一、使浏览器不缓存页面的过滤器
import javax.servlet.*;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* 用于的使 Browser 不缓存页面的过滤器
*/
public class ForceNoCacheFilter implements Filter {
public void doFilter(ServletRequest request, ServletResponse response, FilterChain filterChain) throws IOException, ServletException
{
((HttpServletResponse) response).setHeader("Cache-Control","no-cache");
((HttpServletResponse) response).setHeader("Pragma","no-cache");
((HttpServletResponse) response).setDateHeader ("Expires", -1);
filterCh ......
String usrHome = System.getProperty("user.home");
下面是System的参数列表
Key Meaning
------------------- ------------------------------
"file.separator" File separator (e.g., "/")
"java.class.path" Java classpath
"java.class.version" Java class version number
"java.home" Java installation directory
"java.vendor" Java vendor-specific string
"java.vendor.url" Java vendor URL
"java.version" Java version number
"line.separator" Line separator
"os.arch" ......
java如何获得存储过程的参数(例子)
Connection conn = JDBCUtils.getConnection();
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getProcedureColumns(null, "DATAPUMP", "GET_INCOME_STATEMENT", "%");
while (rs.next()) {
String dbColumnName = rs.getString("COLUMN_NAME");
short dbColumnReturn = rs.getShort("COLUMN_TYPE");
switch (dbColumnReturn) {
case DatabaseMetaData.procedureColumnReturn:
&n ......
先创建一个存储过程
create or replace function addvalue(value1 in number, value2 in number) return number is
result number;
begin
result:=value1+value2;
return(result);
end ;
下面是java调用
Connection conn = JDBCUtils.getConnection();
CallableStatement cs = conn.prepareCall("{? = call addvalue(?, ?)}");
// register input parameters
cs.setInt(2, 2);
cs.setInt(3, 3);
// regsiter ouput parameters
cs.registerOutParameter(1, Types.INTEGER);
cs.execute();
int outParam = cs.getInt(1);
System.out.println(outParam); ......
这几天一直在做图片处理,其中遇到了一些问题,在网上也找到了解决办法(虽然不是最佳的),在这里还是作个记录吧。
1 多张jpg图合成gif动画
/**
* 把多张jpg图片合成一张
* @param pic String[] 多个jpg文件名 包含路径
* @param newPic String 生成的gif文件名 包含路径
*/
private synchronized void jpgToGif(String pic[], String newPic) {
try {
AnimatedGifEncoder e = new AnimatedGifEncoder(); //网上可以找到此类
e.setRepeat(0);
e.start(newPic);
BufferedImage src[] = new BufferedImage[pic.length];
for (int i = 0; i < src.length; i++) {
e.setDelay(200); //设置播诺难映偈奔?/span>
src[i] = ImageIO.read(new File(pic[i])); // 读入需要播放的jpg文件
e.addFrame(src[i]); //添加到帧中
&nbs ......