JDBC操做数据库

一、概述 java

二、JDBC数据库

三、项目引用jar包app

注:在finally中反向关闭资源jsp

rs.close();工具

stmt.close();性能

conn.close();spa

四、建立配置文件读取数据库信息对象

load方法IO操做消耗资源,所以建立工具类将读取属性文件封装,使用单例模式,控制工具类实例生成的个数,提高程序性能。接口

(私有构造方法,而且在该方法中读取属性文件;建立getInstance方法限制对象的数量,只能有一个)ci

  

五、使用JDBC实现信息的增长、删除、修改

 更换Statement对象为PreparedStatement,插入数据使用占位符:

六、建立BaseDao

将NewsDao转换成接口,下降耦合:

建立实现类包,建立实现类NewsDaoImpl(将BaseDao和NewsDao放入dao包中):

验证:

七、使用数据源、链接池达到重用数据库链接的目的,提升性能

在Tomcat中配置数据源的步骤:

经过JNDI根据name获取数据源:

若是结果为null,修改这个地方:

异常处理:

javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
 at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
 at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
 at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325)
 at javax.naming.InitialContext.lookup(InitialContext.java:392)
 at main.java.com.ljb.dao.BaseDao.getConnection2(BaseDao.java:59)
 at main.java.com.ljb.dao.BaseDao.executeUpdate(BaseDao.java:91)
 at main.java.com.ljb.dao.impl.ProductDaoImpl.add(ProductDaoImpl.java:97)
 at main.java.com.ljb.dao.impl.ProductDaoImpl.main(ProductDaoImpl.java:157)
Exception in thread "main" java.lang.NullPointerException
 at main.java.com.ljb.dao.BaseDao.executeUpdate(BaseDao.java:93)
 at main.java.com.ljb.dao.impl.ProductDaoImpl.add(ProductDaoImpl.java:97)
 at main.java.com.ljb.dao.impl.ProductDaoImpl.main(ProductDaoImpl.java:157)

数据源由Tomccat容器建立,所以必须启动Tomcat,运行该项目

JNDIdemo。jsp运行结果:

八、小结

 

 

相关文章
相关标签/搜索