国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用組件beanutils,dbutils簡化JDBC操作

2019-11-18 12:37:40
字體:
來源:轉載
供稿:網友

    雖然現在出現了很多ORM框架,可是還是有很多朋友也許還在使用JDBC,就像我現在一樣,除了學習的時候在使用Hibernate、SPRing類似這些優秀的框架,工作時一直都在使用JDBC。本文就簡單介紹一下利用Jakarta Commons旗下beanutils、dbutils簡化JDBC數據庫操作,以拋磚引玉,希望對像我一樣在使用JDBC的朋友有所幫助。

    下面就分兩部分簡單介紹beanutils、dbutils在基于JDBC API數據庫存取操作中的運用。第一部分顯介紹beanutils在JDBC數據庫存取操作中的運用,第二部分介紹dbutils在JDBC數據庫存取操作中的運用,最后看看他們的優缺點,談談本人在項目運用過程中對他們的一點心得體會,僅供參考,其中有錯誤的地方希望大蝦不吝賜教,大家多多交流共同進步。

    一、Jakarta Commons beanutils

    Beanutils是操作Bean的銳利武器,其提過的BeanUtils工具類可以簡單方便的讀取或設置Bean的屬性,利用Dyna系列,還可以在運行期創建Bean,符合懶人的習慣,正如LazyDynaBean,LazyDynaClass一樣,呵呵。這些用法已經有很多文章提及,也可以參考apache的官方文檔。

    對于直接利用JDBC API訪問數據庫時(這里針對的是返回結果集ResultSet的查詢select),大多數都是采用兩種方式,一種是取出返回的結果集的數據存于Map中,另一種方式是Bean里。針對第二種方式,Beanutils里提供了ResultSetDynaClass結合DynaBean以及RowSetDynaClass結合DynaBean來簡化操作。下面用以個簡單的例子展示一下beanutils的這兩個類在JDBC數據庫操作中的運用。

    請在本機建立數據庫publish,我用的是MySQL,在publish數據庫中建立表book,腳本如下:

CREATE TABLE book(

  id int(11) NOT NULL auto_increment,

  title varchar(50) character set latin1 NOT NULL,

  authors varchar(50) character set latin1 default NULL,

  PRIMARY KEY  (id)


)

    然后用你喜歡的編輯器建立一個類BeanutilsJDBCTest,我們先用ResultSetDynaClass來處理,然后再用RowSetDynaClass來實現同樣的類,之后看看他們之間有什么不同,用ResultSetDynaClass處理的源代碼如下所示:

    然后用你喜歡的編輯器建立一個類BeanutilsJDBCTest,我們先用ResultSetDynaClass來處理,然后再用RowSetDynaClass來實現同樣的類,之后看看他們之間有什么不同,用ResultSetDynaClass處理的源代碼如下所示:

package cn.qtone.test;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import java.util.Iterator;

import org.apache.commons.beanutils.DynaBean;

import org.apache.commons.beanutils.PropertyUtils;

import org.apache.commons.beanutils.ResultSetDynaClass;

public class BeanutilsJDBCTest{

       public static void main(String[] args) {

              Connection con = null;

              Statement st = null;

              ResultSet rs = null;

              try {

                     Class.forName("com.mysql.jdbc.Driver");

                     String url = "jdbc:mysql://127.0.0.1:3306/publish?useUnicode=true&characterEncoding=GBK";



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉林省| 广河县| 白玉县| 高唐县| 松阳县| 桦甸市| 无极县| 桃江县| 翁牛特旗| 班玛县| 界首市| 合肥市| 文化| 马边| 正阳县| 桐城市| 萨嘎县| 博客| 樟树市| 阿拉善左旗| 锦屏县| 大兴区| 华容县| 元江| 商都县| 潮州市| 奉节县| 神木县| 沁源县| 石林| 洱源县| 芒康县| 宁都县| 漳州市| 奎屯市| 新密市| 大竹县| 子长县| 乳源| 柳河县| 德庆县|