`

JDBC将结果封装成一个List或Map

    博客分类:
  • J2SE
阅读更多

需要的jar包,第一要相应的数据库连接的jar包,第二就是commons-dbutils-1.3.jar                  先看List
package www.libinxuan.dbutils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;

public class BeanListExample {
	
	public static void main(String[] args){
		DbUtils.loadDriver("com.mysql.jdbc.Driver");
		String url = "jdbc:mysql://localhost:3306/usertable" ;
		String sql = "select * from user";
		
		try {
			Connection conn = DriverManager.getConnection(url,"root","root");
			QueryRunner qr = new QueryRunner();
			List results = (List)qr.query(conn, sql, new BeanListHandler<User>(User.class));
			DbUtils.close(conn);
			User user = null;
			for(int i=0; i<results.size(); i++){
				user = (User)results.get(i);
				System.out.println("用户名: " + user.getUsername());
				System.out.println("密码: " + user.getPassword());
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}
 Map
package www.libinxuan.dbutils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.List;
import java.util.Map;

import org.apache.commons.dbutils.DbUtils;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.MapListHandler;

public class MapListExample {
	
	public static void main(String[] args){
		DbUtils.loadDriver("com.mysql.jdbc.Driver");
		String url = "jdbc:mysql://localhost:3306/usertable" ;
		String sql = "select * from user";
		
		try {
			Connection conn = DriverManager.getConnection(url,"root","root");
			QueryRunner qr = new QueryRunner();
			List results = (List)qr.query(conn, sql, new MapListHandler());
			DbUtils.close(conn);
			for(int i=0; i<results.size(); i++){
				Map map = (Map)results.get(i);
				System.out.println("用户名: " + map.get("username"));
				System.out.println("密码: " + map.get("password"));
			}
			
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
}
 User类
package www.libinxuan.dbutils;

public class User {
	private String username;
	private String password;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}
 

分享到:
评论

相关推荐

    Spring用代码来读取properties文件实例解析

    今天,我们将探讨如何使用代码来读取Properties文件,并将其封装成一个工具类,以便于在Spring应用程序中使用。 Properties文件读取的重要性 在实际开发中,我们经常需要读取Properties文件中的配置信息,以便于...

    java 教学例程(很有用的资源哦)

    10. **JDBC**:Java数据库连接(JDBC)是Java与数据库交互的标准API,学习者需要掌握如何使用JDBC连接数据库,执行SQL语句,处理结果集。 这个"JAVA教学例程"的压缩包很可能是针对以上各个知识点的实践示例,通过...

    使用记忆法打造你的 JavaSE 记忆宫殿.pdf

    比如,将Java的集合框架(Collection Framework)想象成宫殿中的“收藏室”,其中摆满了各种“宝盒”(比如List、Set、Map),每个“宝盒”里装满了不同的“珍宝”(如ArrayList、LinkedList、HashSet、TreeSet等)...

    《Java课程设计》介绍及代码

    封装使数据和方法结合成一个整体,提供安全的数据访问;继承允许子类继承父类的属性和方法,实现代码复用;多态则使得同一种行为可以有多种表现形式,提高了程序的灵活性。 2. 类与对象:在Java中,一切皆为对象。...

    springmybatis

    MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan Old Java Objects,普通的Java对象)映射成数据库中的记录. orm工具的基本思想 无论是用过的hibernate,mybatis,你都可以法相他们有一个...

    超级有影响力霸气的Java面试题大全文档

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 18、error和exception有什么区别?  error 表示恢复...

    java 面试题 总结

    如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。 15、error和exception有什么区别? error 表示恢复不是...

    Java程序员笔试题

    - **从创建到销毁:** JSP页面被首次访问时,会被转换成一个Servlet类,然后编译执行。 - **编译与加载:** 编译好的JSP会由服务器加载进内存。 **4. Cookie与Session的区别** - **Cookie:** 存储在客户端,主要...

    java就业培训教程(个人整理)

    - **打包**:将多个类文件打包成一个.jar文件。 - **解包**:使用jar命令解压.jar文件。 #### 第5章:多线程 - **5.1 如何创建与理解线程**: - **创建方式**:继承Thread类、实现Runnable接口。 - **生命周期...

Global site tag (gtag.js) - Google Analytics