DButils工具使用笔记以及常见问题总结

入门:

https://www.cnblogs.com/smyhvae/p/4085684.html

一、字段名称和实体类命名不用

解决办法:给查询结果的显示字段取别名,如TEMPLATE_ID AS templateId

select news_id as id, title from test where id=1

二、DBUtils使用BeanListHandler及BeanHandler时返回null

一、使用Bean相关方法时返回null

问题描述:

1

使用DBUtils查询数据,如果使用ArrayListHandler等都能够返回正确值,<br>但使用BeanListHandler 和 BeanHandler则一直返回null

解决方案:

1

实体类的属性名称必须要同数据库中的字段一模一样(区分大小写)

  

二、查询时报错参数为空

问题描述

1

Exception in thread "main" java.sql.SQLException: Cannot create com.netvour.entity.Exceptionmodel: com.netvour.entity.Exceptionmodel Query: select * from Exceptionmodel Parameters: []

 

解决方案

添加实体类的无参构造方法,亲测可用!!!

如:

	public News() {
		
	}
	public News(int id, int news_id, String title, String topic) {
		this.id = id;
		this.news_id = news_id;
		this.title = title;
		this.topic = topic;
	}

复制地址:https://www.cnblogs.com/liuyp-ken/p/5740569.html

三、DataSource使用教程

1.

DataSource 与 DriverManager 获取连接的不同:
a).DriverManager是由SUN实现的,它只供了最基本的获取
   连接的方式。
   而DataSource是一个接口,不光SUN可以实现,很多第三方
   的中间件也可以实现,而且实现得很好。

DataSource一般有如下三种实现方式:
  标准实现 -- 提供最基本的连接,也就是DriverManager的方式
  连接池的实现 -- 提供了连接池,是一种可以缓存及管理多个
    数据库连接的“容器”。
  分布事务的实现 -- 提供了连接池,而且这个池中的连接是
  支持分布式事务的(Distribute Transaction)

一般来说,DataSource 都会由专业的中间件(MiddleWare)来实现。
当然,也有一些开源(免费)的 DataSource的实现。
最有名就是:Apache 组织提供的 commons-dbcp 

--
建议,今后都使用 DataSource 来获取连接。

数据源 与 连接池 的关系
数据源(DataSource)是由SUN制定的一个规范(获取数据库连接的规范),

连接池是数据源规范一种比较主流、重要的实现。

2.c3p0 datasource使用:https://blog.csdn.net/u011506951/article/details/48060657

四、ResultSetHandler接口使用与源码实现


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

https://blog.csdn.net/x_iya/article/details/77185105

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值