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運行結果:

八、小結

 

 

相關文章
相關標籤/搜索