- 浏览: 981392 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 文件下载之断点续传
先道要加上两个包:Spring2.5下面的: spring.jar和commons-logging.jar
我用的DBCP数据源,Connection工具类我就没写了
具体的实例说明:
public class StuDaoImple implements StuDaointer { private JdbcTemplate jdbctemp = null; public StuDaoImple() { jdbctemp = new JdbcTemplate(SQLConnUtil.getDataSource()); } // 所有添,删,改的方法都可以用jdbctemp.update();方法 public void addStu(Stu stu) { String sql = "insert into stu values(?,?,?)"; Object[] obj = new Object[] { stu.getSname(), stu.getSsex(),new java.sql.Date(stu.getSbrith().getTime()) }; jdbctemp.update(sql, obj);// 可以传两个参数,第一个参数是SQL语句,第二个参数是SQL语句的参数值 } public void delStu(int sid) { String sql = "delete stu where s_id=" + sid; jdbctemp.update(sql);// 可以传一个参数,就是没有参数的SQL语句 } public void updStu(Stu 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() }; jdbctemp.update(sql, obj, new int[] { Types.VARCHAR, Types.VARCHAR,Types.DATE, Types.INTEGER }); // 可以传两个参数,第一个参数是SQL语句,第二个参数是SQL语句的参数值,第三个参数是SQL语句参数值的SQL类型 } //查询1 public List getAllStu() { String sql="select s_id,s_name,s_sex,s_brith from stu"; List list=jdbctemp.query(sql, new RowMapper(){ public Object mapRow(ResultSet arg0, int arg1) throws SQLException { Stu stu=new Stu(); if(arg0!=null){ stu.setSid(arg0.getInt("s_id")); stu.setSname(arg0.getString("s_name")); stu.setSsex(arg0.getString("s_sex")); stu.setSbrith(arg0.getDate("s_brith")); } return stu; } }); return list; } //查询2 public List getAllStu(int id) { String sql="select s_id,s_name,s_sex,s_brith from stu where s_id<?"; Object[] obj=new Object[]{id}; //使用内部类 List list=jdbctemp.query(sql,obj,new RowMapper(){ public Object mapRow(ResultSet arg0, int arg1) throws SQLException { Stu stu=new Stu(); if(arg0!=null){ stu.setSid(arg0.getInt("s_id")); stu.setSname(arg0.getString("s_name")); stu.setSsex(arg0.getString("s_sex")); stu.setSbrith(arg0.getDate("s_brith")); } return stu; } }); return null; } //查询方式3(查询一个对象) public Stu getOneStu(int id) { String sql="select s_id as sid,s_name as sname,s_sex as ssex,s_brith as sbrith from stu where s_id=?"; Object[] obj=new Object[]{id}; Object stu=jdbctemp.queryForObject(sql, obj,new BeanPropertyRowMapper(Stu.class)); //可以不用内部类,但是类的属性字段名称要数据库中的字段名称一样或者数据库字段名为s_id类的名称为SId, //如果你没有遵守这个规范则可以在select语句后面给数据库字段名取别名 //上面的查询也可以这种方式 return (Stu)stu; } //查询方式4(查询一个字段) public String getStuName(int sid) { String sql="select s_name as sname from stu where s_id=?"; Object[] obj=new Object[]{sid}; Object stuname=jdbctemp.queryForObject(sql, obj, String.class); //String.class即是指明一下结果的类型 return (String) stuname; } //查询方法5 public int count(){ String sql="select count(*) from stu"; int m=jdbctemp.queryForInt(sql); return m; } //查询方法6 查询结果返回的是map,map中的key为select中的列名(若有别名是是别名)value是该列所对应的值 public Map getStuinMap(int sid){ String sql="select s_id as sid,s_name as sname,s_sex as ssex,s_brith as sbrith from stu where s_id=?"; Object[] obj=new Object[]{sid}; return jdbctemp.queryForMap(sql, obj); } //查询方法7 若你不想用spring封装好了的操作,你可以自己写.Connection的打开和关闭它已经写好了,其它的操作自己可以去完成 public int getMyQuery(final Stu stu){ Object obj=jdbctemp.execute(new ConnectionCallback(){ public Object doInConnection(Connection conn) throws SQLException, DataAccessException { String sql="insert into stu values(?,?,?)"; PreparedStatement pre=conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);//返回主键自动 pre.setString(1, stu.getSname()); pre.setString(2, stu.getSsex()); pre.setDate(3, new java.sql.Date(stu.getSbrith().getTime())); pre.executeUpdate(); ResultSet rs=pre.getGeneratedKeys(); int m=0; if(rs.next()){ m=rs.getInt(1); } return m; } }); return (Integer)obj; } }
- commons-logging.jar (51.7 KB)
- 下载次数: 26
- spring.jar (2.7 MB)
- 描述: Spring2.5
- 下载次数: 40
- JDBC_SpringJdbcTemplate.rar (3.2 MB)
- 描述: 使用Spring的JdbcTemplate和BeanPropertyRowMapper完成的JDBC我的实例
- 下载次数: 159
发表评论
-
高级 DAO 编程 学习编译更好的 DAO 的技巧
2009-04-27 20:09 1601高级 DAO 编程学习编译 ... -
使用Spring的SimpleJdbcTemplate完成DAO操作
2009-04-24 09:35 10088SimpleJdbcTemplate内部包含了一个Name ... -
使用Spring的NamedParameterJdbcTemplate完成DAO操作
2009-04-24 09:18 30735NamedParameterJdbcTemplate内部包含了 ... -
策略设计模式_构建公共通用的Dao
2009-04-23 09:09 1501核心代码: Connection的工具类:详见JDBC数据库 ... -
模板设计模式_构建公共通用的Dao
2009-04-23 09:02 1284核心代码: Connection的工具类:详见:JDBC数据 ... -
使用反射实现ORM
2009-04-20 22:55 1397首先Bean在符合JavaBean的要求,即有一个无参的构造方 ... -
使用反射技术调用对象的方法,得到属性,方法等信息
2009-04-20 22:55 2300package com.mengya.test; im ... -
使用反射技术构造对象
2009-04-20 22:54 1557public class Bean { privat ... -
用JDBC访问二进制类型的数据
2009-04-20 13:08 1567JDBC操作二进制类型数据(如图片或压缩包)也是通过IO字节流 ... -
用JDBC访问大段文本数据
2009-04-20 13:07 1353JDBC操作大的文本数据是通过IO字符流操作 publ ... -
我的JDBC实例
2009-04-20 13:06 20611, 首先在配置文件(system.properties)中 ... -
了解事务的隔离级别
2009-04-20 13:05 1165隔离级别多线程并发读取数据时的正确性 用法: connne ... -
可滚动结果集与分页技术
2009-04-20 13:04 1478可滚动的结果集 Statement st = ... -
可更新和对更新敏感的结果集
2009-04-20 13:04 1577可更新的结果集(说明这些都是JDBC特殊的用法,有些数据库可能 ... -
SQL注入,PreparedStatement和Statement
2009-04-20 13:01 1966在SQL中包含特殊字符或SQL的关键字(如:' or 1 or ... -
ResultSetMetaData的使用
2009-04-20 13:00 2647ResultSetMetaData能够通过ResultSet分 ... -
ParameterMetaData的使用
2009-04-20 12:59 2584ParameterMetaData pmd = prepa ... -
JDBC自动获取数据库自动生成的主键
2009-04-20 12:55 3007PreparedStatement.getGeneratedK ... -
JDBC工具类实例
2009-04-20 12:53 1436System.properties配置文件(放在src下面) ... -
JDBC事务保存点,即事部分回滚
2009-04-20 12:52 4835JDBC中的事务保存点,即事务发生回滚的时候,回滚到保存点那里 ...
相关推荐
strut2+spring+springjdbctemplate做的简易登录系统
Spring JdbcTemplate调用Oracle存储过程输出游标结果集实现增删改查
spring-jdbcTemplate实例工程
使用Spring的JdbcTemplate实现分页功能
一个非常简单基于注解的Spring JdbcTemplate,供初学者参考用。
Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,Druid数据库连接池的SpringJDBCTemplate所需的jar包,...
NULL 博文链接:https://zhangyulong.iteye.com/blog/992578
Spring JDBCTemplate连接池jar包
使用Spring的JdbcTemplate调用Oracle的存储过程
运用Spring中关于JDBC的一个辅助类(JDBC Template),进行curd操作
SpringJdbcTemplate封装工具包,包括规范model格式接口,封装SpringJdbcTemplate,实现分页,自适应多种数据库
模仿spring jdbcTemplate的粗略实现,只有很小的参考价值,如果是java初学者可以使用这个封装好的工具进行数据库操作,只需要在db.properties里配置好driver,url等信息
1.Spring4前 spring-jdbc包是独立的,4以后spring-jdbc 就已经没有了
一个简单易用可对象操作基于Spring JdbcTemplate的JDBC帮助包
Spring JdbcTemplate的操作,包括接口,BaseDao,log4J配置文件,主要为oracle数据库操作,很多特殊方法只对oracle有效
spring JdbcTemplate query方法使用示例,欢迎下载借鉴
SSH笔记-Spring JdbcTemplate,使用JdbcTemplate对数据库进行操作,使用具名参数和JDBC模板,简化操作
配制Spring事务和JdbcTemplate使用 配制Spring事务和JdbcTemplate使用
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.support.rowset.ResultSetWrappingSqlRowSet; import org.springframework.jdbc.support.rowset.SqlRowSet; import org....