这个类蛮实用的,我在几个项目中都使用。接口如下:
public
interface
DaoHelper {
boolean
add(String sql, Object... args);
boolean
add(String sql, Connection conn, Object... args);
int
update(String sql, Object... args);
int
update(String sql, Connection conn, Object... args);
boolean
delete(String sql, Object... args);
boolean
delete(String sql, Connection conn, Object... args);
Object getObject(String sql, Class obj, Object... args);
Object getObject(String sql, Connection conn, Class obj,
Object... args);
List<Object> getList(String sql, Class obj, Object...
args);
String queryForString(String sql, Object... args);
Long queryForLong(String sql, Object... args);
Boolean queryForBoolean(String sql, Object... args);
Connection getConn
();
void
returnConnection(Connection conn);
void
rollBack(Connection conn);
}
<!---->(1)
<!---->第一个
add
方法用来执行
insert
语句,并且提交事务;
sql
为数据库语句,
args
为数据库参数,要和数据库语句里的“?”对应。
<!---->(2)
<!---->第二个
add
方法多了一个
Connetion
参数,该方法将使用这个
Conn
来创建
PreparedStatement
,但是执行结束后不提交,需要手动提交。
<!---->(3)
<!---->其他
update
、
delete
同上
<!---->(4)
<!---->
getObject
方法返回一个
bean
,把
ResultSet
转化为
Bean
,
bean
的属性必须和数据库列名称相同。
<!---->(5)
<!---->
getList
方法返回一个
List
,将
ResultSet
处理为一个
List
返回
<!---->(6)
<!---->
queryForString
,
queryForLong
,
queryForBoolean
将分别返回
String
、
Long
、
Boolean
结果。
实现我使用了
apache common
里的
dbutils
包,另外由
DataSource
提供数据库
Connection
,我使用的是
c3p0
的实现,用
spring bean set
注入的。代码参考附件。
PS:
抛砖引玉,大家要是有更好的方法的话,可以拿出来共享一下,提高代码质量、加快开发速度。
- daohelper.rar (1.8 KB)
- 描述: DaoHelper.java,DaoHelperImpl.java
- 下载次数: 405
分享到:
相关推荐
DAO模式的核心思想是创建一个专门的接口或抽象类,用于执行对数据源的操作,这样业务组件就可以通过调用DAO接口来与数据库或其他数据存储进行交互,而无需直接了解这些底层的实现细节。 在J2EE环境中,DAO模式特别...
本压缩包"mysql_generator"正是提供了这样一个功能,它能帮助我们自动生成MySQL的持久层DAO(Data Access Object)、实体类以及映射文件Mapper。 首先,我们需要了解DAO模式。DAO模式是一种常用的设计模式,它的...
Entity类是数据库模型的映射,通常对应数据库中的一个表。代码生成器会根据数据库表结构自动创建实体类,包括属性(字段)及其数据类型,以及getter和setter方法。这样开发者无需手动编写这些基础代码,可以更专注...
实体类是代表数据库表中的一个记录,它的属性对应于表的列,方法则对应于对这些数据的操作。通常,我们手动创建这些类,为每个字段定义属性,并添加getter和setter方法。然而,gen工具能够根据数据库表结构自动创建...
MyBatis Generator(MBG)是一个强大的工具,它可以自动从数据库中读取表信息,然后生成Java源代码,这些源代码包括了实体类、Mapper接口和XML配置文件,以及DAO实现类。这极大地减少了开发者的工作量,使他们能更...
3. **生成DAO接口和实现类**:MBG会创建一个DAO接口,包含CRUD(Create、Read、Update、Delete)操作,同时生成该接口的实现类,实现类中包含了对Mapper接口的调用。 4. **创建Mapper接口和XML配置**:MBG会为每个...
STRUTS框架是一个MVC(Model-View-Controller)架构,通常与DAO模式结合使用,以实现业务逻辑与数据访问的分离。在描述中提到的场景中,开发者在处理数据持久化时,决定采用DAO模式来提高代码的可维护性和可扩展性。...
在Java开发领域,MyBatis是一个非常流行的持久层框架,它简化了数据库操作与Java对象之间的映射。本文将深入探讨“mybatis映射文件xml+bean+dao自动构建”的主题,以及如何利用代码生成工具来提高开发效率。 首先,...
它允许开发者快速构建一个符合标准的Java Web应用程序结构,减少了手动编写大量重复代码的时间,使开发者能够更专注于业务逻辑和创新。 首先,让我们深入理解这个工具的核心组成部分: 1. **Java三层架构**:这是...
我想此刻你大概也能猜到了,这是一个软件工程专业本科狗的毕设项目。因此从某种意义上来说这个项目没有任何价值和意义,至少对大部分人来说是这样的。但是作为一个历经学校繁琐复杂毕设过程的本科狗来说,我清楚的...
"自动生成实体类-蛋蛋程序员助手"是一个工具,它旨在帮助程序员简化编码工作,通过自动化的方式生成实体类,以及其他类型的代码,如接口、服务、控制器等。下面我们将深入探讨这个主题。 首先,实体类是面向对象...
3. **DAO接口和实现类生成**:基于Mapper XML文件,工具会生成DAO接口,以及实现该接口的DAOImpl类。这样,开发者只需在Service层调用这些接口,就能执行数据库操作。 4. **Service和ServiceImpl生成**:工具还会...
【标题】"美女桌面助手vb+access"是一个基于Visual Basic(VB)开发的个人事务管理软件,结合了Access数据库来存储用户数据。这个程序设计得既实用又具有趣味性,尤其适合初学者作为学习VB和Access数据库应用的案例...
总结来说,“自动运行生成辅助包和类”的工具是Java Web开发中的高效助手,结合Java 8和Maven的强大功能,可以快速创建出DAO、Service和Controller层,从而简化开发过程。通过理解这个工具的工作原理,开发者可以更...
MyBatis是一个流行的Java持久层框架,它简化了与数据库交互的过程,提供了强大的映射功能。在开发过程中,创建实体类、DAO(Data Access Object)接口以及Mapper XML文件是常见的任务,这些工作既繁琐又容易出错。...
在这个例子中,`Student`类有两个属性:`name`和`age`,一个构造器用于初始化对象,以及一个`study`方法代表学生的学习行为。 接下来,我们需要创建类的实例,即对象。在Java中,我们通过`new`关键字和类的构造器来...
在Spring的配置文件中,定义一个DAO的bean,指定其class属性为DAO类,并通过property注入SessionFactory。 最后,添加Service层,同样通过Spring的bean定义反转Service类。Service层是业务逻辑的核心,它调用DAO来...
MyBatis是一个强大的Java持久层框架,它允许开发者将SQL语句直接写在XML映射文件中,提供了灵活的数据访问接口。在这个自动生成工具中,它集成了...对于经常使用MyBatis的开发者来说,这样的工具无疑是一个宝贵的助手。
同时,MBG还会生成一个实现了DAO接口的类,这个类提供了具体的数据库操作实现。 在Entity层,MBG会创建一个Java类,这个类代表数据库中的一个表,包含了表的所有字段作为类的属性,并且每个属性都有对应的getter和...
例如,如果你正在构建一个基于数据库的应用,你可以通过CodeSmith轻松地生成ADO.NET的数据访问对象(DAO)或者实体类,这样就无需手动编写每一个表对应的类。 使用CodeSmith,你可以定义模板来处理以下常见任务: 1...