100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > mysql dbutil_DBUtil详解

mysql dbutil_DBUtil详解

时间:2023-10-11 01:42:05

相关推荐

mysql dbutil_DBUtil详解

Common Dbutils是操作数据库的组件,对传统操作数据库的类进行二次封装,可以把结果集转化成List。

DBUtils包括3个包:

mons.dbutils

mons.dbutils.handlers

mons.dbutils.wrappers

DBUtils封装了对JDBC的操作,简化了JDBC操作,可以少写代码。

mons.dbutils

DbUtils 关闭链接等操作

QueryRunner 进行查询的操作

mons.dbutils.handlers

ArrayHandler :将ResultSet中第一行的数据转化成对象数组

ArrayListHandler将ResultSet中所有的数据转化成List,List中存放的是 Object[]

BeanHandler :将ResultSet中第一行的数据转化成类对象

BeanListHandler :将ResultSet中所有的数据转化成List,List中存放的是类对象

ColumnListHandler :将ResultSet中某一列的数据存成List,List中存放的是 Object对象

KeyedHandler :将ResultSet中存成映射,key为某一列对应为Map。Map中存放的是数据

MapHandler :将ResultSet中第一行的数据存成Map映射

MapListHandler :将ResultSet中所有的数据存成List。List中存放的是Map

ScalarHandler :将ResultSet中一条记录的其中某一列的数据存成Object

mons.dbutils.wrappers

SqlNullCheckedResultSet :对ResultSet进行操作,改版里面的值

StringTrimmedResultSet :去除ResultSet中中字段的左右空格。Trim()

主要方法:

DbUtils类:启动类

ResultSetHandler接口:转换类型接口

MapListHandler类:实现类,把记录转化成List

BeanListHandler类:实现类,把记录转化成List,使记录为JavaBean类型的对象

Qrery Runner类:执行SQL语句的类

建立三个Java文件

命名为BeanListExample.java

Guestbook.java

MapListExample.java

源码:

BeanListExample.java

Code

package com.sy;

import mons.dbutils.DbUtils;

import mons.dbutils.QueryRunner;

import mons.dbutils.handlers.BeanListHandler;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.List;

public class BeanListExample {

public static void main(String[] args) {

Connection conn = null ;

String url = " jdbc:mysql://localhost:3306/people" ;

String jdbcDriver = " com.mysql.jdbc.Driver" ;

String user = " root " ;

String password = " hicc " ;

DbUtils.loadDriver(jdbcDriver);

try {

conn = DriverManager.getConnection(url, user, password);

QueryRunner qr = new QueryRunner();

List results = (List) qr.query(conn, " select id,name from guestbook" , new BeanListHandler(Guestbook.class ));

for ( int i = 0 ; i < results.size(); i++ ) {

Guestbook gb = (Guestbook) results.get(i);

System.out.println(" id: " + gb.getId() + " ,name: " + gb.getName());

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DbUtils.closeQuietly(conn);

}

}

}

Guestbook.java

Code

package com.sy;

public class Guestbook {

private Integer id;

private String name;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this .id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this .name = name;

}

}

MapListExample.java

Code

package com.sy;

import mons.dbutils.DbUtils;

import mons.dbutils.QueryRunner;

import mons.dbutils.handlers.MapListHandler;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.util.List;

import java.util.Map;

public class MapListExample {

public static void main(String[] args) {

Connection conn = null ;

String url = " jdbc:mysql://localhost:3306/people" ;

String jdbcDriver = " com.mysql.jdbc.Driver" ;

String user = " root " ;

String password = " hicc " ;

DbUtils.loadDriver(jdbcDriver);

try {

conn = DriverManager.getConnection(url, user, password);

QueryRunner qr = new QueryRunner();

List results = (List) qr.query(conn, " select id,name from guestmessage" , new MapListHandler());

for ( int i = 0 ; i < results.size(); i++ ) {

Map map = (Map) results.get(i);

System.out.println(" id: " + map.get( " id " ) + " ,name: " + map.get( " name " ));

}

} catch (SQLException e) {

e.printStackTrace();

} finally {

DbUtils.closeQuietly(conn);

}

}

}

使用组建好需要添加commons - dbutils - 1.1 .jar和mysql - connector - java - 5.1 . 6 - bin.jar 两个jar包。

配置完毕!!!

// 另一种方法

// 使用dbutils1.0版本

import java.util. * ;

import java.util.logging.* ;

import java.sql.* ;

import mons.dbutils.* ;

import mons.dbutils.handlers.* ;

public class TestDBUnits {

public static void main(String[]args) throws Exception {

TestDBUnits test = new TestDBUnits();

for ( int i = 0 ; i < 1 ; i ++ ) {

test.testQuery1();

test.testQuery2();

test.testUpdate();

}

}

public void testQuery1(){

try {

QueryRunner qr = new QueryRunner() ;

ResultSetHandler rsh = new ArrayListHandler();

String strsql = " select * from test1" ;

ArrayList result = (ArrayList)qr.query(getConnection() ,strsql ,rsh);

// System.out.print("");

} catch (Exception ex) {

ex.printStackTrace(System.out);

}

}

public void testQuery2(){

try {

QueryRunner qr = new QueryRunner() ;

ResultSetHandler rsh = new MapListHandler();

String strsql = " select * from test1" ;

ArrayList result = (ArrayList)qr.query(getConnection() ,strsql ,rsh);

for ( int i = 0 ; i < result.size() ; i++ ) {

Map map = (Map)result.get(i);

// System.out.println(map);

}

// System.out.print("");

} catch (Exception ex) {

ex.printStackTrace(System.out);

}

}

public void testUpdate(){

try {

QueryRunner qr = new QueryRunner() ;

ResultSetHandler rsh = new ArrayListHandler();

String strsql = " insert test1(page ,writable ,content)values('ttt','ttt','faskldfjklasdjklfjasdklj')" ;

qr.update(getConnection() ,strsql);

// System.out.print("");

} catch (Exception ex) {

ex.printStackTrace(System.out);

}

}

private Connection getConnection() throws InstantiationException,

IllegalAccessException, ClassNotFoundException, SQLException {

String strDriver = " org.gjt.mm.mysql.Driver" ;

String strUrl = " jdbc:mysql://localhost:3306/test" ;

String strUser = " root " ;

String strPass = "" ;

Class.forName(strDriver).newInstance();

return DriverManager.getConnection(strUrl, strUser, strPass);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。