问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

commons-beanutils-1.8.3是什么jar包

发布网友 发布时间:2022-04-27 11:57

我来回答

3个回答

懂视网 时间:2022-05-02 12:15

public Object query(String sql, Object[] params, ResultSetHandler rsh) : 

几乎与第一种方法一样;唯一的不同在于它不将数据库连接提供给方法,并且它是从提供给构造方法的数据源(DataSource) 或使用的setDataSource 方法中重新获得 Connection。

public Object query(Connection conn, String sql, ResultSetHandler rsh):

执行一个不需要置换参数的查询操作。

public int update(Connection conn, String sql, Object[] params):

用来执行一个更新(插入、更新或删除)操作。

public int update(Connection conn, String sql) :

用来执行一个不需要置换参数的更新操作。

代码示例:

/**
 * 使用dbutils组件的QueryRunner类完成CURD,以及批处理
 * Created by cenyu on 16-12-18.
 */
public class bdutilsUpdate {
 private Connection conn;

 //1.删除
 @Test
 public void testDelete() throws SQLException {
 String sql = "delete from Admin where id=?";
 //连接对象
 conn = JdbcUtils.getConnection();
 //创建DBUtils核心工具类对象
 QueryRunner qr=new QueryRunner();
 qr.update(conn,sql,3);//一个参数
 //关闭
 DbUtils.close(conn);
 }

 //2.插入
 @Test
 public void testInsert() throws SQLException {
 String sql = "INSERT INTO Admin(userName,password) VALUES (?,?)";
 //连接对象
 conn = JdbcUtils.getConnection();
 //创建DBUtils核心工具类对象
 QueryRunner qr=new QueryRunner();
 qr.update(conn,sql,"a111","a111");//两个参数
 //关闭
 DbUtils.close(conn);
 }


 //3.更改
 @Test
 public void testUpdate() throws SQLException {
 String sql = "UPDATE Admin SET userName=? WHERE id=?;";
 //连接对象
 conn = JdbcUtils.getConnection();
 //创建DBUtils核心工具类对象
 QueryRunner qr=new QueryRunner();
 qr.update(conn,sql,"Juerry",5);//两个参数
 //关闭
 DbUtils.close(conn);
 }


 //4.查询
 @Test
 public void testFind() throws SQLException {
 String sql = "select * from Admin where id=?";
 //连接对象
 conn = JdbcUtils.getConnection();
 //创建DBUtils核心工具类对象
 QueryRunner qr=new QueryRunner();
 Admin admin=qr.query(conn,sql,new BeanHandler<Admin>(Admin.class),5);
 //关闭
 System.out.println(admin);
 DbUtils.close(conn);
 }

 //5.批处理
 @Test
 public void testBatch() throws SQLException {
 String sql = "insert into Admin (userName, password) values(?,?)";
 conn = JdbcUtils.getConnection();
 QueryRunner qr = new QueryRunner();
 //批量处理
 qr.batch(conn,sql,new Object[][]{{"jack1","888"},{"jack","999"}});
 //关闭
 conn.close();
 }
}

3.3.ResultSetHandler接口使用方法

ResultSetHandler接口用于处理java.sql.ResultSet,将数据按要求转换为另一种形式
ResultSetHandler接口的实现类
BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。
BeanListHandler:将结果集中的每一行数据都封装到一个对应的JavaBean实例中,存放到List里。
ArrayHandler:把结果集中的第一行数据转成对象数组。
ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。
ScalarHandler 查询返回结果记录的第一行的第一列 (在聚合函数统计的时候用)
MapHandler 查询返回结果的第一条记录封装为map

代码示例:

/**
 * 测试ResultSetHandler对查询结构的封装类
 * Created by cenyu on 16-12-18.
 */
public class bdutilsQuery {
 private Connection conn;

 // 一、查询, 自定义结果集封装数据
 @Test
 public void testQuery() throws Exception {
 String sql = "select * from admin where id=?";
 // 获取连接
 conn = JdbcUtils.getConnection();
 // 创建DbUtils核心工具类对象
 QueryRunner qr = new QueryRunner();
 // 查询
 Admin admin = qr.query(conn, sql, new ResultSetHandler<Admin>() {

  // 如何封装一个Admin对象
  public Admin handle(ResultSet rs) throws SQLException {
  if (rs.next()) {
   Admin admin = new Admin();
   admin.setUserName(rs.getString("userName"));
   admin.setPassword(rs.getString("password"));
   return admin;
  }
  return null;
  }

 }, 29);

 // 测试
 System.out.println(admin);
 // 关闭
 conn.close();

 }

 // 二、查询, 使用组件提供的结果集对象封装数据

 // 1)BeanHandler: 查询返回单个对象
 @Test
 public void testQueryOne() throws Exception {
 String sql = "select * from admin where id=?";
 // 获取连接
 conn = JdbcUtils.getConnection();
 // 创建DbUtils核心工具类对象
 QueryRunner qr = new QueryRunner();
 // 查询返回单个对象
 Admin admin = qr.query(conn, sql, new BeanHandler<Admin>(Admin.class), 29);

 System.out.println(admin);
 conn.close();
 }

 // 2)BeanListHandler: 查询返回list集合,集合元素是指定的对象
 @Test
 public void testQueryMany() throws Exception {
 String sql = "select * from admin";
 conn = JdbcUtils.getConnection();
 QueryRunner qr = new QueryRunner();
 // 查询全部数据
 List<Admin> list = qr.query(conn, sql, new BeanListHandler<Admin>(Admin.class));

 System.out.println(list);
 conn.close();
 }
 @Test
// 3) ArrayHandler, 查询返回结果记录的第一行,封装对对象数组, 即返回:Object[]
// 4) ArrayListHandler, 把查询的每一行都封装为对象数组,再添加到list集合中
// 5) ScalarHandler 查询返回结果记录的第一行的第一列 (在聚合函数统计的时候用)
// 6) MapHandler 查询返回结果的第一条记录封装为map
 public void testArray() throws Exception {
 String sql = "select * from admin";
 conn = JdbcUtils.getConnection();
 QueryRunner qr = new QueryRunner();
 // 查询
 //Object[] obj = qr.query(conn, sql, new ArrayHandler());
 //List<Object[]> list = qr.query(conn, sql, new ArrayListHandler());
 //Long num = qr.query(conn, sql, new ScalarHandler<Long>());
 Map<String, Object> map = qr.query(conn,sql, new MapHandler());

 conn.close();
 }
}

3.4.DbUtils工具类使用

 DbUtils :提供如关闭连接、装载JDBC驱动程序等常规工作的工具类,里面的所有方法都是静态的。主要方法如下:
public static void close(…) throws java.sql.SQLException:

DbUtils类提供了三个重载的关闭方法。这些方法检查所提供的参数是不是NULL,如果不是的话,它们就关闭Connection、Statement和ResultSet。

public static void closeQuietly(…):

这一类方法不仅能在Connection、Statement和ResultSet为NULL情况下避免关闭,还能隐藏一些在程序中抛出的SQLEeception。

public static void commitAndCloseQuietly(Connection conn):

用来提交连接,然后关闭连接,并且在关闭连接时不抛出SQL异常。

public static boolean loadDriver(java.lang.String driverClassName):

这一方装载并注册JDBC驱动程序,如果成功就返回true。使用该方法,你不需要捕捉这个异常ClassNotFoundException。

BenUtils组件和DbUtils组件

标签:runner   抽象   inpu   模拟   query   dbutils   apache   创建对象   UI   

热心网友 时间:2022-05-02 09:23

1.什么是 commons-beanutils 

BeanUtils主要提供了对于JavaBean进行各种操作。

 

2.commons-beanutils 的作用:

在一般的写bean组件的时候,都必须要写setter和getter方法,当然假如我们事先已经知道bean的相关属性和方法,写bean是比较简单的,

但是组件太多的时候,重复编写经常是枯燥乏味令人厌烦的。

但当有些时候我么需要调用动态对象的属性的时候,我们应该怎么来设定和获取对象的属性呢?BeanUtils就可以帮助我们来解决这个问题。

 

3. org.apache.commons.beanutils:

这个包主要提供用于操作JavaBean的工具类,Jakarta-Common-BeanUtils的主要功能都在这个包里实现。

BeanUtils可以直接get和set一个属性的值。它将property分成3种类型:

       1Simple——简单类型,如Stirng、Int……

  (对于Simple类型,第二个参数直接是属性名即可,详见代码)


       2Indexed——索引类型,如 数组、arrayList……

      (对于Indexed,则为“属性名[索引值]”,注意这里对于ArrayList和数组都可以用一样的方式进行操作,详见代码)


       3Maped——这个不用说也该知道,就是指Map,比如HashMap……

       (对于Map类型,则需要以“属性名(key值)”的形式,详见代码)

    访问不同类型的数据可以直接调用函数getProperty和setProperty。它们都只有2个参数,第一个是JavaBean对象,第二个是要操作的属性名。

 

4.Converter 把Request或ResultSet中的字符串绑定到对象的属性 
   经常要从request,resultSet等对象取出值来赋入bean中,如果不用MVC框架的绑定功能的话,下面的代码谁都写腻了。

String a = request.getParameter("a");   
bean.setA(a);  
String b = request.getParameter("b");  
bean.setB(b);…


不妨写一个Binder自动绑定所有属性:

MyBean bean = ;
        HashMap map = new HashMap();
        Enumeration names = request.getParameterNames();
        while (names.hasMoreElements())
        {
          String name = (String) names.nextElement();
          map.put(name, request.getParameterValues(name));
        }
     BeanUtils.populate(bean, map);

 

 其中BeanUtils的populate方法(Struts用于将一个map的值填充到一个bean中)或者getProperty,setProperty方法其实都会调用convert进行转换。


     但Converter只支持一些基本的类型,甚至连java.util.Date类型也不支持。而且它比较笨的一个地方是当遇到不认识的类型时,居然会抛出异常来。 对于Date类型,我参考它的sqldate类型实现了一个Converter,而且添加了一个设置日期格式的函数。


要把这个Converter注册,需要如下语句:


例:

BeanUtilsBean beanUtils =new BeanUtilsBean( convertUtils, new PropertyUtilsBean() ) ;
beanUtils.setProperty( bean, name, value ) ;

热心网友 时间:2022-05-02 10:41

是build path包,在弹出的对话框中选择你要导入的jar 。

在使用BeanUtils工具包之前我们需要的Jar包有以下几种:

1、BeanUtils相关包

commons-beanutils-1.8.3.jar

commons-beanutils-1.8.3-javadoc.jar

2、    commons-beanutils-1.8.3-javadoc.jar

commons-beanutils-bean-collections-1.8.3.jar

commons-beanutils-core-1.8.3.jar

commons-logging.jar

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
滴管的化妆品如何确定已经使用 什么是工程硕士啊 什么是工程硕士呀 为什么工科的叫做工程硕士,工学的叫做工学硕士? 谁能给我排几套炉石传说潜行者的平民化套牌,要大众化的,稀有、史诗、传... 炉石传说推荐新手卡组潜行者? 炉石传说潜行者通灵学园扩展包新卡有哪些_通灵学园扩展包潜行者卡牌大 ... 炉石传说狗头人冒险盗贼卡牌 潜行者初始套牌一览 马桶堵了怎么办 坐便器冲水方式哪种好 各位喜欢郑源的朋友,帮忙查一下林学〈森林保护〉的就业岗位_百度... Bean和注入Bean的几种常用注解和区别 java 从数据库中取出的值为什么都是null common所有的句型结构以及短语 老婆在美国买了ROOT OF COMMON BEANCAPER,这个是什么东西呀。 sql预编译语句就是不执行,怪怪的,求解,急~~ 求助:spring mvc 注解方式 如何注入map 和 list 陈皮红豆沙的英文怎么说 九里春枫怎么样?好不好?值不值得买? 龙湖九里晴川揽境怎么样?好不好?值不值得买? 国悦·半山九里怎么样?好不好?值不值得买? 龙湖九里晴川怎么样?好不好?值不值得买? 与点置业卖华润石梅湾九里的房子吗? 九里欣园怎么样?好不好?值不值得买? 西关九里怎么样?好不好?值不值得买? 明大·公园九里怎么样?好不好?值不值得买? 万科仓前九里怎么样?好不好?值不值得买? 无锡绿城诚园的房子和华润公园九里的房子哪个更值得入手? 云山九里怎么样?好不好?值不值得买? 听说很多人买了西昌蓝润春风九里的房子,这个楼盘到底好不好啊? 广州峰尚九里怎么样?好不好?值不值得买? kidney bean同French bean的区别。二者同译为芸豆、四季豆。 com.ibatis.common.beans.ProbeException pea和bean有什么不同?pea吃皮,bean吃豆吗? spring在什么情况使用bean spring 中依赖注入有哪几种注解 Java程序中,做东西需要分层打包,一下几个包是什么意思,主要是做什么的? 什么是spring的内部bean commonutils.tobean在哪个jar vivo手机充电头会响咋回事 生病时不能吃发物,所谓的发物是什么?该注意什么? 不是发物的水果 什么是发物 哪些食物是发物 QQ浏览器打不开网页游戏 QQ浏览器for mac一开就卡死机 QQ浏览器打不开QQ空间的游戏 mac,QQ浏览器上一些网站显示不正常 腾冲火山是不是世界遗产? 腾冲火山的特点是什么? 腾冲境内的火山是怎么形成的? 我国腾冲境内的火山大约有多少座?