- 浏览: 980137 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (223)
- JDBC技术 (29)
- Java Base (21)
- SSH框架的集合 (5)
- Javascript部分 (16)
- Sping2.5框架 (6)
- Hibernate框架 (19)
- JDBC中的数据库连接 (5)
- Ajax技术应用 (9)
- Java工具包下载 (3)
- Database (4)
- Java Web (13)
- 我的生活 (4)
- Struts2 (25)
- S2SH (1)
- Prototype (1)
- jfreeChart (5)
- JPA (7)
- JBPM (1)
- JasperReport (6)
- DWR (1)
- freeMark (2)
- IBatis (2)
- FCKeditor (2)
- POI (1)
- JQuery (6)
- JSON (1)
- JavaMail (3)
- Flex (2)
- CSS收藏夹 (1)
- 润乾报表 (2)
- 开源技术 (1)
- Android (2)
- Android_UI (1)
- Android_OS (6)
- Android_OpenLibs (3)
- Volley (1)
- JS_OpenLibs (1)
- Hessian (3)
- OS (1)
最新评论
-
damoluomu:
简单易懂
Java Web开发Session超时设置 -
di1984HIT:
学习了~~~~~~
Java Web开发Session超时设置 -
lord_is_layuping:
...
Java Web开发Session超时设置 -
15111285554:
...
Java Web开发Session超时设置 -
sfg1314:
暂停后重新下载就会报错:ClientAbortExceptio ...
Java Web 文件下载之断点续传
核心代码:
Connection的工具类:详见JDBC数据库连接
StuDao的接口: public interface StuDaointer {
公共的DAO///*************************************\\\ public abstract class CommDao { private ResultSet rs; private PreparedStatement pre; private Connection conn; private SQLDBConnutil connutil=SQLDBConnutil.getSQLDBConnutil(); protected int update(String sql,Object[] obj){ int n=0; conn=connutil.getConnection(); try { pre=conn.prepareStatement(sql); if(obj!=null && obj.length>0){ for(int i=0;i<obj.length;i++){ pre.setObject(i+1, obj[i]); } } n=pre.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); }finally{ connutil.free(null, pre, conn); } return n; } protected Object getone(String sql,Object[] obj,MappingRow mp){ Object myobj=null; conn=connutil.getConnection(); try { pre=conn.prepareStatement(sql); if(obj!=null && obj.length>0){ for(int i=0;i<obj.length;i++){ pre.setObject(i+1, obj[i]); } } rs=pre.executeQuery(); if(rs.next()){ myobj=mp.MapRow(rs); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); } return myobj; } protected List getall(String sql,Object[] obj,MappingRow mp){ List list=new ArrayList(); Object myobj=null; conn=connutil.getConnection(); try { pre=conn.prepareStatement(sql); if(obj!=null && obj.length>0){ for(int i=0;i<obj.length;i++){ pre.setObject(i+1, obj[i]); } } rs=pre.executeQuery(); while(rs.next()){ list.add(mp.MapRow(rs)); } } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e.getMessage()); } return list; } } //其中MappingRow接口如下: public interface MappingRow { public Object MapRow(ResultSet rs); } 具体对象的Dao实现如下: public class StuDaoImple extends CommDao implements StuDaointer{ public void addStu(Stu stu) { public void delStu(int sid) { public Object MapRow(ResultSet rs) { public Stu getOneStu(int sid) { public Object MapRow(ResultSet rs) { public void updStu(Stu stu) {
public void addStu(Stu stu);
public void delStu(int sid);
public void updStu(Stu stu);
public Stu getOneStu(int sid);
public List getAllStu();
}
String sql="insert into stu values(?,?,?)";
Object[] obj=new Object[]{stu.getSname(),stu.getSsex(),new java.sql.Date(stu.getSbrith().getTime())};
super.update(sql, obj);
}
String sql="delete stu where s_id=?";
Object[] obj=new Object[]{sid};
super.update(sql, obj);
}
//内部类
public List getAllStu() {
String sql="select * from stu";
return super.getall(sql,null, new MappingRow(){
Stu stu=new Stu();
try {
stu.setSid(rs.getInt("s_id"));
stu.setSname(rs.getString("s_name"));
stu.setSsex(rs.getString("s_sex"));
stu.setSbrith(rs.getDate("s_brith"));
} catch (SQLException e) {
e.printStackTrace();
}
return stu;
}
});
}
String sql="select * from stu where s_id=?";
Object[] obj=new Object[]{sid};
return (Stu) super.getone(sql, obj,new MappingRow(){
Stu stu=new Stu();
try {
stu.setSid(rs.getInt("s_id"));
stu.setSname(rs.getString("s_name"));
stu.setSsex(rs.getString("s_sex"));
stu.setSbrith(rs.getDate("s_brith"));
} catch (SQLException e) {
e.printStackTrace();
}
return stu;
}
});
}
String sql="update stu set s_name=?,s_sex=?,s_brith=? where s_id=?";
Object[] obj=new Object[]{stu.getSname(),stu.getSsex(),new java.sql.Date(stu.getSbrith().getTime()),stu.getSid()};
super.update(sql, obj);
}
}
- 策略设计模式构建公共通用的Dao实例.rar (905.6 KB)
- 下载次数: 40
发表评论
-
高级 DAO 编程 学习编译更好的 DAO 的技巧
2009-04-27 20:09 1598高级 DAO 编程学习编译 ... -
使用Spring的SimpleJdbcTemplate完成DAO操作
2009-04-24 09:35 10085SimpleJdbcTemplate内部包含了一个Name ... -
使用Spring的NamedParameterJdbcTemplate完成DAO操作
2009-04-24 09:18 30725NamedParameterJdbcTemplate内部包含了 ... -
使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC
2009-04-23 16:55 10658先道要加上两个包:Spring2.5下面的: spring.j ... -
模板设计模式_构建公共通用的Dao
2009-04-23 09:02 1279核心代码: Connection的工具类:详见:JDBC数据 ... -
使用反射实现ORM
2009-04-20 22:55 1392首先Bean在符合JavaBean的要求,即有一个无参的构造方 ... -
使用反射技术调用对象的方法,得到属性,方法等信息
2009-04-20 22:55 2294package com.mengya.test; im ... -
使用反射技术构造对象
2009-04-20 22:54 1551public class Bean { privat ... -
用JDBC访问二进制类型的数据
2009-04-20 13:08 1560JDBC操作二进制类型数据(如图片或压缩包)也是通过IO字节流 ... -
用JDBC访问大段文本数据
2009-04-20 13:07 1351JDBC操作大的文本数据是通过IO字符流操作 publ ... -
我的JDBC实例
2009-04-20 13:06 20571, 首先在配置文件(system.properties)中 ... -
了解事务的隔离级别
2009-04-20 13:05 1158隔离级别多线程并发读取数据时的正确性 用法: connne ... -
可滚动结果集与分页技术
2009-04-20 13:04 1474可滚动的结果集 Statement st = ... -
可更新和对更新敏感的结果集
2009-04-20 13:04 1574可更新的结果集(说明这些都是JDBC特殊的用法,有些数据库可能 ... -
SQL注入,PreparedStatement和Statement
2009-04-20 13:01 1957在SQL中包含特殊字符或SQL的关键字(如:' or 1 or ... -
ResultSetMetaData的使用
2009-04-20 13:00 2640ResultSetMetaData能够通过ResultSet分 ... -
ParameterMetaData的使用
2009-04-20 12:59 2580ParameterMetaData pmd = prepa ... -
JDBC自动获取数据库自动生成的主键
2009-04-20 12:55 3004PreparedStatement.getGeneratedK ... -
JDBC工具类实例
2009-04-20 12:53 1432System.properties配置文件(放在src下面) ... -
JDBC事务保存点,即事部分回滚
2009-04-20 12:52 4829JDBC中的事务保存点,即事务发生回滚的时候,回滚到保存点那里 ...
相关推荐
NULL 博文链接:https://huagenli.iteye.com/blog/570695
DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式DAO设计模式
本章主要是结合DAO设计模式,减少JSP中的代码数量,体现了数据与显示的分离
DAO设计模式 DAO 设计模式 JAVA设计模
dao mybatis的入门案例 第一步:读取配置文件 第二步:创建SqlSessionFactory工厂 第三步:创建SqlSession 第四步:创建Dao接口的代理对象 第五步:执行dao中的方法 第六步:释放资源 注意事项: 不要...
留言管理程序_使用Struts + DAO完成笔记留言管理程序_使用Struts + DAO完成笔记留言管理程序_使用Struts + DAO完成笔记
基于jsp+mysql+MyEclipse 7.0的DAO模式设计
16-留言管理程序_使用Struts _ DAO _ Hibernate完成.rar 16-留言管理程序_使用Struts _ DAO _ Hibernate完成.rar
JAVA开发模式中的工厂模式,采用DAO实现。后面有关于DAO的一些介绍,使不了解DAO的看了后面介绍也可以看懂。
实现的功能是把数据库中的记录显示到列表视图中,可以进行记录添加、删除、修改、查询等操作
本系统采用Visual C++语言编写,运用软件工程的思想, 采用面向对象分析、设计的方法学完成。通过建立系统的数据库,对象模型、动态模型、功能模型,设计界面窗口,算法结构,函数之间互相调用完成实现系统的功能。
14_ant_完整操作一个用户管理的小例子_分析和创建DAO14_ant_完整操作一个用户管理的小例子_分析和创建DAO
这个是不同类型的表单通用的dao模式,简洁明了,注释清楚,可移植性很强
Tb_Books_TypeDao.class
java数据库连接,主要适用于struts框架结构
留言管理程序_使用Struts + DAO + Hibernate完成笔记留言管理程序_使用Struts + DAO + Hibernate完成笔记
本程序实现了vc++访问DAO数据库的功能,对于操作数据库有很大的启发的.
C#特性标签实现通用Dao层C#特性标签实现通用Dao层C#特性标签实现通用Dao层
使用DAO进行数据库编程,功能比较不错。