最新标注
热门标注
历史更新
站点地图
RSS
Home
CrazyCoder
»
原创
»
it评论
»
it业界
»
互联网
»
精品软件
开发语言
»
网络编程
编程综合
嵌入式开发
算法
英文资料
汇编语言
PowerBuilder
p2p技术
验证码识别
DotNet
Java教程
C语言教程
C 教程
Delphi教程
VB教程
QQ协议开发
项目管理
»
数据库
»
Web开发
»
Python
Css教程
XML教程
网页特效
PhotoShop教程
Illustrator教程
CorelDraw教程
Ruby教程
CorelDraw教程
网站安全
开发平台-工具
Web
PHP教程
Flash教程
Ajax教程
Javascript教程
Html教程
Dreamweaver
Asp教程
技术综合
»
软件测试
办公软件
QQ相关
Windows
网络技术
游戏开发
软件工程
软件教程
编程思想
游戏开发
外挂开发
OpenApi
AutoCad
广告设计
3D设计
平面设计相关
移动手机开发
服务器
»
Linux
Unix/FreeBsd
web服务器
服务器技术
安全
博文摘选
»
翻译
首页
»
博文摘选
» dbutils,使用commons-dbutils简化JDBC操作(二) dbutils+反射
Rss订阅
dbutils,使用commons-dbutils简化JDBC操作(二) dbutils+反射
on 2011-6-26
in
博文摘选
|
0 Comment
前篇文章讲了dbutils的简单使用
我们可以将dbutils和泛型配合起来使用,这样数据层的代码将会更加的简单,我这写了一个例子,大家共同讨论一下!
基于泛型的DBM.java
import java.lang.reflect.ParameterizedType; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.DbUtils; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; public class DBM<T> { private static final String CLASSNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver"; private static final String URL="jdbc:sqlserver://127.0.0.1:1433;databasename=MybookShop"; private static final String UID="sa"; private static final String PWD=""; private Class cls; public Connection getConn() throws SQLException { Connection conn=DriverManager.getConnection(URL,UID,PWD); return conn; } public DBM() throws SQLException{ DbUtils.loadDriver(CLASSNAME); cls= (Class)((ParameterizedType) this.getClass().getGenericSuperclass()).getActualTypeArguments()[0]; } public List<T> query(String sql,Object...paras) throws SQLException{ QueryRunner qr=new QueryRunner(); BeanListHandler handler=new BeanListHandler(cls); Connection conn=getConn(); List<T> list= (List<T>) qr.query(getConn(), sql,paras , handler); DbUtils.close(conn); return list; } public void update(String sql,Object...paras) throws SQLException{ QueryRunner qr=new QueryRunner(); Connection conn=getConn(); qr.update(conn, sql,paras); DbUtils.close(conn); } }
相同的实体类UserRoleVo.java,这就不写了
简化后的UserRoleDAO.java
import java.sql.SQLException; import java.util.List; import org.apache.commons.dbutils.QueryRunner; import org.apache.commons.dbutils.handlers.BeanListHandler; import com.accp.db.DBM; import com.accp.vo.UserRoleVo; public class UserRoleDao extends DBM<UserRoleVo> { public UserRoleDao() throws SQLException { super(); } public List<UserRoleVo> findAll() throws SQLException{ return query("select * from userRoles"); } public List<UserRoleVo> findAllByName(String name) throws SQLException{ return query( "select * from userRoles where name like ?","%"+name+"%"); } public void add(UserRoleVo role) throws SQLException{ update("insert into userRoles values (?)",role.getName()); } }
这个DAO就灰常简单了!
Tags:
dbutils
延伸阅读
2011-6-26
--
dbutils,使用commons-dbutils简化JDBC操作(一)
2011-2-21
--
dbutils,Jakarta Commons——DBUtils
2010-12-21
--
dbutils,dbutils框架
2011-3-27
--
dao数据库编程,采用Apache dbutils操作数据库的DAO类,...
最新评论
发表评论
昵称
评论
验证码
点击图片更换
赞助商广告
随机更新
Silverlight - RIA Services服务端数据验证与本地化
phpsolr,Solr应用指南
mongodb,MongoDB实战开发 【零基础学习,附完整Asp.net示例】
rss阅读器,Windows Phone 7 网络编程之RSS阅读器
人员不足,谷歌Offers团购:供求环节有优势 销售人员不足
公交车上的艳遇,公交车上
svn分支合并,SVN 分支更新与合并
android,开放的Android更易中招 安全防护刻不容缓
做自己翻译,mycmd系列,抓GOOGLE的翻译做自己的翻译
c语言类型转换,C++的类型转换
编写编译器,自己动手开发编译器(八)用Linq编写解析器组合子
Linux命令
mvc文件上传,.net mvc 大文件上传
优化你的DiscuzNT3.0,让它跑起来(6)在线人数和Regex.IsMatch()引发的hang
Objective-C 对比学习
心里有些莫名感伤,即将毕业,却欲走上java的路,但心里莫名的奇怪
《SQL Server 2008从入门到精通》:不错的练习手册,可以做入门级书籍,还不到精通级书籍的深度
自定义css样式,CakePHP: 如何在$html->link中使用自定义样式
通过.net reflector了解asp.net站点的请求与向应过程
SQL Server 2005使用作业实现定时备份任务和删除指定天数前的备份文件
浏览器兼容,如何实现兼容多浏览器的“设为首页”功能?
svn分支合并,SVN 分支更新与合并
微博micro,microblogging和微博信息架构产品差距和影响
wojilu,wojilu系统的ORM介绍
亚斯伯格症,被逮捕的 Lulzsec黑客据称患有亚斯伯格症
时间差计算,SQL Server中 DateDiff计算时间差
创业必经的那些事,【创业】创业团队的那些事之(二)
iphone编码,iphone里读取gb2312(中文)编码文件或者二进制流。
wcf绑定,Essential WCF 第四章 绑定 系列文章
android,【原创·教程·连载】《Android之大话设计模式》--设计模式之行为型模式 第十四章:模板方法模式 人的一生应该这样度过
热门标注
竞购贝尔
(1)
无竞购
(1)
itsass
(1)
10大热门专业
(1)
i7处理器
(1)
视频处理
(1)
污水处理厂
(1)
苹果竞购北电
(1)
dba职业前景
(1)
sassin
(1)
严重的地震
(1)
故宫失窃案
(1)
故宫失窃
(1)
洛克王国化石失窃
(1)
帮你找回事业线
(1)
帮小狗找回手绢
(1)
数据库优化策略
(1)
放弃meego
(1)
贵州电视台视频
(1)
北京电视台视频
(1)
最近更新
判断链表是否有环,判断两个链表是否相交并找出交点
云计算中小企业,让“云计算推动中小企业发展”不只是口号
高架桥,早上9.10分左右上高架被拍了!
java值传递,java传参的值传递,引用传递
国美起诉陈晓:职业经理人规范的里程碑
qq邮箱存储量,2011全球数据存储量(图)
二进制转换成字符,字符转换(2,8,10,16进制,ASCII码)
转:Java 内存优化的两个类:SoftReference 和 WeakReference
豆果网王宇翔:美食社区大有可为
Ubuntu 下安装thttpd Web服务器
thttpd,用thttpd做Web Server
thttpd,移植 thttpd Web服务器
异步加载图片,ListView异步加载图片
sdcard,创建数据库的时候就将数据库保存到SDcard中
四面楚歌,4G应用运营商身陷"四面楚歌
图片切换特效,在C#里实现各种窗口切换特效,多达13种特效
网页设计作品欣赏,30个疯狂的网页设计作品欣赏
nginx安装,Ubuntu安装Nginx
java开发工具,做Java开发这一年
数据库实例,单数据库,多数据库,单实例,多实例不同情况下的数据访问效率测试
最新标注
竞购贝尔
(1)
无竞购
(1)
itsass
(1)
10大热门专业
(1)
i7处理器
(1)
视频处理
(1)
污水处理厂
(1)
苹果竞购北电
(1)
dba职业前景
(1)
sassin
(1)
严重的地震
(1)
故宫失窃案
(1)
故宫失窃
(1)
洛克王国化石失窃
(1)
帮你找回事业线
(1)
帮小狗找回手绢
(1)
数据库优化策略
(1)
放弃meego
(1)
贵州电视台视频
(1)
北京电视台视频
(1)
最新评论