java操作数据库的利器 DBCUtils

一开始学习java操作数据库时总是自己写好增删查改函数,用的都是预处理的方式,但是后来越来越发现他们可以写成一个包,以后直接拿来用就行了,直到有一天看java视频时才发现早就有大神们写好了,。他就是dbutils包,下面介绍其中常用的方法

//传入一个账号,在数据库中查看有没有这个账号,若有就返回它的个数(其实返回1)没有返回零
	public int accountNum(String account)
	{
		Connection connection = JDBCUtils.getConnection();
		String sql = "select count(*) from student where student_account=" + account;
		QueryRunner queryRunner = new QueryRunner();
		Object[] num = null;
		try
		{
          //返回查询结果的个数,只有一行一列
			num = queryRunner.query(connection, sql, new ArrayHandler());
		} catch (SQLException e)
		{
			e.printStackTrace();
		}
      //Object 无法直接转换为int类型
		return Integer.valueOf(String.valueOf(num[0]));
	}

queryRunner.query(connection, sql, new ArrayHandler());

  • 说一下第三个参数的意思,第三个参数有以下几个,作用不同

    • :ArrayHandler() 返回第一行的所有列,一行中大部分都是许多列组成的,所以返回的是一个数组,并且是Object[]类型

    • ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。即查询的是所有的结果, 返回的是一个list

    • BeanHandler:将结果集中的第一行数据封装到一个对应的JavaBean实例中。

      例: Student student = queryRunner.query(connection, sql, new BeanHandler(Student.class));

    • BeanListHandler:将结果集中的每一行数据封装到一个对应的JavaBean实例中。

      例: List< Stduent >list = queryRunner.query(connection, sql, new BeanListHandler(Student.class));

    • MapHandler:将结果集中的第一行数据封装到一个Map里,key是列名,value就是对应的值。

    • MapListHandler:将结果集中的每一行数据都封装到一个Map里,然后再存放到List

posted @ 2017-04-14 19:14  -梦里不知身是客  阅读(253)  评论(0编辑  收藏  举报