项目中数据库的操作
来源:互联网 发布:立白皂液怎么样 知乎 编辑:程序博客网 时间:2024/06/10 14:05
下面介绍的是本人在开发中的一点心得,如有不恰当之处还请指出,谢谢!
项目中数据库操作,在开发中开启数据库过程中做到能关闭的尽量在每次操作完成后关闭,使用原始方式连接数据库如下:
private String queryUseNatureCodeBy(String riskCode,
String queryUseNatureName) throws Exception{
String usenaturename = queryUseNatureName;
List<String> useNatureCodeList = new ArrayList<String>();
// " SELECT a.useNatureName FROM prpdriskusenaturemapping a WHERE a.riskCode = ? and useNatureCode =?";
String sql = "select usenaturecode from prpdriskusenaturemapping where ";
// hql.append("and useNatureCode =?");
sql+=" riskCode = '"+riskCode+"'";
sql+="and useNatureName = '"+usenaturename+"'";
Connection conn = null;
ResultSet rs = null;
PreparedStatement ps = null;
try {
conn = super.getHibernateTemplate().getSessionFactory().getCurrentSession().connection();
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
String useNatureCode = "";
while (rs.next()&&rs!=null && !rs.equals("")) {
useNatureCode= rs.getString(1);
useNatureCodeList.add(useNatureCode);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
if(rs != null) {
rs.close();
}
if(ps !=null){
ps.close();
}
if(conn != null) {
conn.close();
}
}
if (useNatureCodeList.size() > 0) {
return useNatureCodeList.get(0);
} else {
return "n";
}
}
1:上面的代码中:
conn
=super.getHibernateTemplate().getSessionFactory().getCurrentSession().connection();
连接数据库使用的是hibernate来数管理据库,之前使用的session是conn = super.getHibernateTemplate().getSessionFactory().openSession().connection()
在测试过程中发现少量的数据操作时不会发省异常,但是,一旦大量操作就会严重影响运行效率,卡顿;因为hibernate不会管理openSession(),所以在多次操作过程中session资源不足,影响效率。而使用getCurrentSession()方式获取的sessionhibernate会在程序执行完成后自动关闭;
2:在这次使用中解决以上问题后在查询上千条数据时还是出现数据库问题,结果发现每次运行后PreparedStatement 未关闭,关闭之后测试正常。
阅读全文
0 0
- 项目中数据库的操作
- 项目中对数据库的操作
- android中跨项目的数据库操作ContentProvider的使用
- 项目中遇到的[数据库并发]操作问题
- 项目中修改的操作
- 数据库中图片的操作
- java 中数据库的操作
- java中数据库的操作
- POCO中数据库的操作
- MFC中数据库的操作
- android中数据库的操作
- 从实际项目中总结出的20条数据库操作优化经验
- 从实际项目中总结出的20条数据库操作优化经验
- 从实际项目中总结出的20条数据库操作优化经验
- web项目中,Java Resoures连接数据库测试通过,但JSP页面连接操作数据库失败的解决方案
- ASP.NET中数据库的操作初步----DataSet操作数据库
- ASP.NET中数据库的操作初步----DataSet操作数据库
- ASP.NET中数据库的操作初步----DataSet操作数据库
- Java集合判断空和非空
- c++中setw(n)的用法
- Spring Security实现用户名或者手机号登录
- fread函数简介
- WEBRTC基本介绍
- 项目中数据库的操作
- [活动预告]倒数1天!开源世界高峰论坛将于北京举行,偶数科技将进行主题演讲和产品展示
- mtk 软件下载过程
- AS build常见错误:Could not find method ?apply() for arguments
- 使用each()、list()和while循环配合使用来遍历数组
- 如何在ubuntu下快速的把视频流分割成图片
- (安卓APP)利用NavigationView做的侧滑菜单案例
- Windows batch编程常用语法及命令介绍
- tensorflow安装的时候,没有su权限,即使利用anaconda虚拟环境,pip仍没有权限的问题