项目中用到了SSH构架,但个别地方,需要调用原生的SQL语句。用Hibernate来调用原生SQL太麻烦了。 需要Connection conn = this.getHibernateTemplate().getSessionFactory().openSession(); 然后加Try,Catch,最后要在finally块中关闭掉Session,这样无疑多了很多代码。 Apache Commons DbUtils是一个轻量级的封装。我将它用在了项目中,在需要使用原生SQL语句的地方(批量操作或者很复杂的SQL语句…

2013/04/18 0条评论 2504点热度 0人点赞 阅读全文

连接池运作原理   在实际应用开发中,特别是在WEB应用系统中,如果JSP、Servlet或EJB使用JDBC直接访问数据库中的数据,每一次数据访问请求都必须经历建立数据库连接、打开数据库、存取数据和关闭数据库连接等步骤,而连接并打开数据库是一件既消耗资源又费时的工作,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃。数据库连接池技术是解决这个问题最常用的方法,在许多应用程序服务器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了这项技术,无需自己编程,但是,深入了解…

2012/04/17 0条评论 2140点热度 0人点赞 阅读全文

我们在读取数据库的时候,在读取取到的值的时候,可能要前后挪动指针,例如我们先计算有多少条消息,这时我们就必需把指针移到最后再来计算,然后再把指针移到最前面,逐条读取,有时我们只需逐条读取就能够了。只需要读取的时候,为了不摧毁数据,我们以只读形式读取,有时我们必需往数据库里添加数据,这时我们将模式设置成可更新数据库的形式。 常用方法: public boolean previous(); //将游标向上挪动,返回boolean型数据,当移到数据集第一行之前时返回false。 public…

2012/04/13 0条评论 1910点热度 0人点赞 阅读全文

注:mysql不支持jdbc的批量处理 在增删改多条数据的时候,一条条的循环操作会一直不断的向数据库要连接,效率低下.而是用批量处理的话,执行多条sql语句只需要是用一次数据库连接就能完成. JDBC给我们提供了批量处理的接口,主要是三个方法: //将给定的ql命令添加到此statement对象的列表中       stmt.addBatch(sql); //将一批sql命令提交给数据库执行,如果执行成功,则返回更成功的数组       stmt.exec…

2012/04/12 0条评论 2039点热度 0人点赞 阅读全文

使用servlet的时候如果每个方法都创建一个servlet的话,会使系统非常的庞大,会在web.xml中创建很多的映射,为了简化操作,我们通过反射来根据调用的方法名动态的去执行指定的方法. 创建基类BaseServlet让其继承HttpServlet public class BaseServlet extends HttpServlet {           &…

2012/04/10 0条评论 1762点热度 0人点赞 阅读全文

数据库事务(Database Transaction) ,是指作为单个逻辑工作单元执行的一系列操作。 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源。通过将一组相关操作组合为一个要么全部成功要么全部失败的单元,可以简化错误恢复并使应用程序更加可靠。一个逻辑工作单元要成为事务,必须满足所谓的ACID(原子性、一致性、隔离性和持久性)属性。 事务:是指一组逻辑操作单元,使数据从一种状态换到另一个状态 事务的四个属性    1,原子性(atomicity) &nb…

2012/04/08 0条评论 1620点热度 0人点赞 阅读全文

数据持久化        持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。        持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。  Java 中的数据存储技术      1)…

2012/04/06 0条评论 1799点热度 0人点赞 阅读全文