DBUtils是由apache開發(fā)的幫助java開發(fā)人員操作數(shù)據(jù)庫的一個庫包吝,封裝了JDBC的代碼帅韧,簡化了dao層的操作庐杨。
一般的數(shù)據(jù)庫操作方式:
Class.forName(DB_DRIVER);
conn=DriverManager.getConnection(DB_URL,DB_USER,DB_PASSWARD);
String sql="select id,username,password,phonenumber from users where id=?";
prepstmt=conn.prepareStatement(sql);
prepstmt.setString(1, user.id);
ResultSet result=prepstmt.executeQuery();
while(result.next()) {
user.id=result.getString(1);
user.username=result.getString(2);
user.password=result.getString(3);
user.phonenumber=result.getString(4);
}
首先sql語句需要我們一個一個的使用setString()等方法填寫完整罪治,其次最終的結(jié)果是一個ResultSet,我們需要將其中的數(shù)據(jù)一個一個的取出來分预。
DBUtils的作用就是幫助程序員簡化這個過程叮称。
DBUtils操作數(shù)據(jù)庫
Class.forName(DBConf.JDBC_DRIVER);
conn=DriverManager.getConnection(DBConf.DB_URL,DBConf.USER,DBConf.PASSWORD);
String sql="SELECT id, name, age FROM user WHERE id=?";
Map<String, Object> resultMap=queryRunner.query(conn, sql, new MapHandler(), 1);
DBUtils使用QueryRunner類幫助我們執(zhí)行sql語句酣藻,需要填充的部分直接按照順序填寫在query()函數(shù)的參數(shù)部分舒萎。最后的結(jié)果由Handler()處理成相應(yīng)的數(shù)據(jù)類型并返回程储。
query()函數(shù)各參數(shù)的意義:
第一個參數(shù):connection對象
第二個參數(shù):sql語句
第三個參數(shù):處理ResultSet的對象,根據(jù)handler的不同處理成不同的數(shù)據(jù)結(jié)構(gòu)
其他參數(shù):依次為sql語句中需要填充的部分(即“臂寝?”)章鲤。