当前位置: 首页 > news >正文

展示型网站建设报价手机网站在哪里找到

展示型网站建设报价,手机网站在哪里找到,江门专用网站建设,wordpress setup_theme九:Apache-DBUtils实现CRUD操作 1 Apache-DBUtils简介 Apache-DbUtils 是 Apache 组织提供的开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用DbUtils能极大简化JDBC编码的工作量,同时也不会影响程序的…

九:Apache-DBUtils实现CRUD操作

1 Apache-DBUtils简介

Apache-DbUtils 是 Apache 组织提供的开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用DbUtils能极大简化JDBC编码的工作量,同时也不会影响程序的性能。因此DbUtils成为很多不喜欢Hibernate的公司的首选。
使用Apache-DbUtils之前需要导入它的jar包,官网上会有,或者找国内镜像站找也可以。

2.常用的API及案例

  • org.apache.commons.dbutils.QueryRunner
    • 使用此类可以更快捷的进行删除,添加,修改操作,因为此类封装了我们之前自己写的删除,添加,修改操作。

例:对Customers表进行插入

	@Testpublic void testInsert() {Connection conn = null;        try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "insert into customers(name,email,birth)values(?,?,?)";int updateCount = runner.update(conn, sql, "薛之谦","xuezhiqian@168.com",new Date(87654323456L));if(updateCount != 0) {System.out.println("修改了" + updateCount + "条记录");}} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}}
  • org.apache.commons.dbutils.ResultSetHandler

    • 定义了查询相关的接口,它的实现类根据其接口进行了具体的操作编写
      
    • ResultSetHandler 接口提供了一个单独的方法:Object handle (java.sql.ResultSet .rs)
      
  • 接口的主要实现类:

    • ArrayHandler:把结果集中的第一行数据转成对象数组。

    • ArrayListHandler:把结果集中的每一行数据都转成一个数组,再存放到List中。

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

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

    • ColumnListHandler:将结果集中某一列的数据存放到List中。

    • KeyedHandler(name):将结果集中的每一行数据都封装到一个Map里,再把这些map再存到一个map里,其key为指定的key。

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

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

    • ScalarHandler :查询单个值对象

例:查询操作
BeanHandler:ResultSetHandler接口的实现类,用于封装表中的一条记录。

	@Testpublic void testQuery1() {Connection conn = null;                              try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select id,name,email,birth from customers where id = ?";BeanHandler<Customer> handler = new BeanHandler<>(Customer.class);Customer customer = runner.query(conn, sql, handler, 23);System.out.println(customer);} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}		}

BeanListHandler:ResultSetHandler接口的实现类,用于封装表中的多条记录构成的集合。

	@Testpublic void testQuery2() {Connection conn = null;                              try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select id,name,email,birth from customers where id < ?";BeanListHandler<Customer> handler = new BeanListHandler<>(Customer.class);List<Customer> list = runner.query(conn, sql, handler, 23);list.forEach(System.out::println);//打印出多条记录} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}}

MapHandler:ResultSetHandler接口的实现类,对应表中的一条记录。 将字段及相应字段的值作为Map中的Key和Value。

@Test
public void testQuery3() {Connection conn = null;                                         try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select id,name,email,birth from customers where id = ?";MapHandler handler = new MapHandler();Map<String, Object> map = runner.query(conn, sql, handler, 23);System.out.println(map);} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}		
}

MapListHandler:ResultSetHandler接口的实现类,对应表中的多条记录。将字段及相应字段的值作为Map中的Key和Value,将这些map添加到List中

@Test
public void testQuery4() {Connection conn = null;                try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select id,name,email,birth from customers where id < ?";MapListHandler handler = new MapListHandler();List<Map<String, Object>> list = runner.query(conn, sql, handler, 23);list.forEach(System.out::println);} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}		
}

ScalarHandler:用于查询特殊值

	@Testpublic void testQuery5() {Connection conn = null;        try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select count(*) from customers";ScalarHandler handler = new ScalarHandler();Long count = (Long)runner.query(conn, sql, handler);System.out.println(count);} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}		}@Testpublic void testQuery6() {Connection conn = null;try {QueryRunner runner = new QueryRunner();conn = JDBCUtils.getConnection2();String sql = "select max(birth) from customers";ScalarHandler handler = new ScalarHandler();Date maxBirth = (Date) runner.query(conn, sql, handler);System.out.println(maxBirth);} catch (Exception e) {e.printStackTrace();}finally {JDBCUtils.closeResource(conn, null);}		}
  • org.apache.commons.dbutils.DbUtils

    • DbUtils工具类提供如关闭连接、装载JDBC驱动程序等常规操作
      

例:资源关闭

public static void closeResource1(Connection conn,Statement ps,ResultSet rs){           
//		try { 
//			DbUtils.close(conn);
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		try {
//			DbUtils.close(ps);
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}
//		try {
//			DbUtils.close(rs);
//		} catch (SQLException e) {
//			e.printStackTrace();
//		}DbUtils.closeQuietly(conn);DbUtils.closeQuietly(ps);DbUtils.closeQuietly(rs);}

其中可能会出现不少的小问题,请多多包含
感谢大家的支持,关注,评论,点赞!
参考资料:尚硅谷_宋红康_JDBC核心技术

http://www.yayakq.cn/news/307639/

相关文章:

  • 阿里巴巴网站建设教程视频公司网站制作开发公司
  • 企业网站建设调查问卷望野拼音
  • 郑州网站建设找哪家wordpress导航菜单位置
  • 上海著名网站建设备案一个网站为什么需要域名
  • 西安网站制作费用海拉尔网站建设公司
  • 网站建设代码网站建设技术架构和语言
  • 网站建设经验总结扬州百度seo公司
  • 网站icp做年检咖啡网站设计建设
  • 青海移动网站建设个人网站建设的意义
  • 网站开发代码归属素材网免费
  • 容桂网站制作公司wordpress购物 app
  • 电子商务网站建设与维护第二版东莞免费网站建设网络营销
  • 济南公司建站做app要多少钱
  • 怎么自己优化网站在线发外链工具
  • 常州新北区网站建设网站色彩运用
  • 网站文章内容优化方案郑州做食用菌配送的网站
  • 神马网站快速排名案例中国设计之家
  • 网站内的地图导航怎么做的wordpress 删除超文本
  • 自己建一个影视网站要怎么做wordpress怎么安装双语言
  • 南宁市保障住房建设管理服务中心网站个人主页模板psd
  • 云服务器做网站视屏企业管理系统咨询
  • 苏州网站公司排名前十深圳做外贸网站多少钱
  • 常州网站专业制作网站卡密代理怎么做
  • 支持付费下载系统的网站模板或建站软件天元建设集团有限公司基本情况
  • 兰州网站维护宠物网站建设规划书
  • 汽车网站建设多少钱网店美工毕业设计
  • php网站开发小程序深圳专业网站设计哪家好
  • iis 网站拒绝显示此网页i深建官方网站
  • 网上花店网站建设规划书哪类网站流量大
  • 网站兼容工具深圳手机网站建设多少钱