jinfeng_wang
G-G-S,D-D-U!
BlogJava
首页
新随笔
联系
聚合
管理
400 Posts :: 0 Stories :: 296 Comments :: 0 Trackbacks
公告
欢迎交流链接,给我
留言
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(40)
给我留言
查看公开留言
查看私人留言
随笔分类
(592)
.Net(17)
2016-OS(6)
2016-REDIS(41)
2016SCALA(1)
2016-Sharding-JDBC(3)
2016-thinking(12)
2016-thread(2)
2016-zookeeper(29)
amusement(32)
ant(3)
AOP(6)
cpp(15)
Cruise Controle(1)
Eclipse(2)
hadoop(1)
hibernate(10)
idoms(1)
java(52)
Junit(6)
Linux(49)
log4j
maven(8)
News(1)
OpenSource(2)
oracle(5)
Other(20)
server(1)
spring(18)
structs(4)
Thinking(16)
tuxedo(16)
view(22)
weblogic(2)
website(8)
ZZ(180)
随笔档案
(400)
2017年2月 (6)
2017年1月 (4)
2016年12月 (82)
2011年10月 (2)
2010年4月 (10)
2010年3月 (1)
2010年2月 (2)
2009年11月 (1)
2009年10月 (5)
2009年9月 (3)
2009年6月 (1)
2009年5月 (41)
2009年4月 (2)
2009年3月 (1)
2008年11月 (3)
2008年10月 (2)
2008年8月 (2)
2008年7月 (1)
2008年6月 (2)
2008年4月 (1)
2008年3月 (26)
2008年1月 (1)
2007年12月 (1)
2007年11月 (1)
2007年8月 (6)
2007年7月 (8)
2007年6月 (5)
2007年5月 (16)
2007年4月 (12)
2007年3月 (13)
2007年2月 (8)
2007年1月 (4)
2006年10月 (1)
2006年9月 (1)
2006年8月 (1)
2006年7月 (1)
2006年6月 (2)
2006年5月 (4)
2006年4月 (3)
2006年3月 (2)
2006年2月 (1)
2006年1月 (19)
2005年12月 (2)
2005年9月 (3)
2005年6月 (4)
2005年5月 (11)
2005年4月 (27)
2005年3月 (38)
2005年2月 (7)
Domestic
Michael Chen’s Blog
临海观潮
兔八哥的狗窝
Foreign
搜索
积分与排名
积分 - 479763
排名 - 104
最新评论
1. re: 谈谈基于Kerberos的Windows Network Authentication zz[未登录]
真好!!!!!!!!!!!!!!!!!!
看的我都想给博主打钱了。
--test
2. re: 谈谈基于Kerberos的Windows Network Authentication zz
赞!写得很好。
--asir
3. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)[未登录]
@编程浪子
哈哈,你想的太简单了...你睡眠的时候interrupt不一定刚好命中你.所以你还是永远结束不了.
--码魂
4. re: 谈谈基于Kerberos的Windows Network Authentication zz
好是好,就是错别字太他妈的多了。
--路人
5. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)[未登录]
评论内容较长,点击标题查看
--编程浪子
6. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
楼主举的例子循序渐进的,讲得很明白
--刘三
7. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
评论内容较长,点击标题查看
--question
8. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
评论内容较长,点击标题查看
--graykeel
9. re: 谈谈基于Kerberos的Windows Network Authentication zz
@陈朝对的 好像Q要改为P
--马根
10. re: 工作流之大局势
真的好细致,专业,能给我发一份国内的么?cayh2008@foxmail.com
--cayh
11. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
好文章必须赞,根据您的办法果然解决了一个大问题!!
--toney
12. re: 谈谈基于Kerberos的Windows Network Authentication zz
你好,请教个问题:windows是如何保证KDC是可信的?安全的?如何保证MasterKey不被泄露?
--brad
13. re: WebLogic教程:在WebLogic Server中集成Apache Poi
fa
--fs
14. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
说了一些基本的东西哦..呵呵.不过也不错
--红泪
15. re: 汉字简体繁体转换(zz)
寻找那个她
--个v
16. re: JVM参数调优实践 xx
评论内容较长,点击标题查看
--萧工
17. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
评论内容较长,点击标题查看
--谁不可以
18. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)
评论内容较长,点击标题查看
--谁不可以
19. re: Java Thread.interrupt 害人! 中断JAVA线程(zz)[未登录]
@客人
我觉的很厉害了,咋还不够透,要不你讲透彻一点,我最近就是要中断一个等待另外一个系统,返回值的线程,可能网络丢失,那个线程卡在那了,现在要关闭当前的,重新启动一个该线程。
--lz
20. re: 日本电视台:
KEYHOLETV 百度上能搜到
--琨
阅读排行榜
1. Java Thread.interrupt 害人! 中断JAVA线程(zz)(38525)
2. 谈谈基于Kerberos的Windows Network Authentication zz(10695)
3. Spring IDE的使用(9982)
4. 工作流之大局势(9554)
5. hibernate transaction theory(2)(7590)
6. 大嘴日语的破解(6851)
7. Spring JDBC DAO的两个example(6194)
8. 标准日本语中级视频下载(5685)
9. [C++]static全局变量/全局变量,static函数/普通函数,函数中static变量/函数中的变量,类中的static成员变量/普通类成员变量 (zz)(5047)
10. 日本語 EUC ・シフト JIS 間コード変換仕様とコード系実態調査(4943)
11. 再给一个“访问屏蔽网站”的方法(4594)
12. 超强的上海空姐(4356)
13. Windows CMD Console 字符集的修改(4155)
14. Spring封装Hibernate(4109)
15. 人员、资源、操作及这三者构成的权限控制(4026)
16. SiteMesh:一个优于Apache Tiles的Web页面布局、装饰框架 zz(3781)
17. Magic Maven( Translation part 1) (3592)
18. 从浪漫到流行---法语香颂(Chanson)百年纵览(zz)(3537)
19. 使用JMeter进行性能测试(3514)
20. 汉字简体繁体转换(zz)(3288)
评论排行榜
1. 大嘴日语的破解(45)
2. 汉字简体繁体转换(zz)(26)
3. 工作流之大局势(24)
4. 谈谈基于Kerberos的Windows Network Authentication zz(24)
5. Java Thread.interrupt 害人! 中断JAVA线程(zz)(12)
6. 成功窃取一个小网站 :)(12)
7. 标准日本语中级视频下载(11)
8. jlpt.etest.edu.cn 运行过程中出现的一点内容(7)
9. 第一眼是错的(zz)(5)
10. Checked Exception VS UnChecked Excetion (续2)(5)
11. 人员、资源、操作及这三者构成的权限控制(5)
12. Magic Maven translation release发布(5)
13. hibernatesynch的安装与使用(4)
14. 利用Java实现串口全双工通讯(zz)(4)
15. 可怜的Eclipse(4)
16. 再给一个“访问屏蔽网站”的方法(4)
17. Checked Exception VS UnChecked Excetion(4)
18. 日本电视台:(4)
19. Window+GCC+CDT用Eclipse開發C、C++ (zz)(3)
20. 收藏一个站点 http://www.open-open.com/ (3)
Spring JDBC DAO的两个example
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import java.util.List;
import org.springframework.jdbc.core.BatchPreparedStatementSetter;
import org.springframework.jdbc.core.CallableStatementCallback;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowCallbackHandler;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.jdbc.core.RowMapperResultReader;
public
class
SpringJDBCDAO
{
private
class
PersonRowMapper implements RowMapper
{
public
Object mapRow(ResultSet rs,
int
index) throws SQLException
{
Person person
=
new
Person();
person.setId(
new
Integer(rs.getInt(
"
id
"
)));
person.setFirstName(rs.getString(
"
first_name
"
));
person.setLastName(rs.getString(
"
last_name
"
));
return
person;
}
}
private
JdbcTemplate jdbcTemplate;
public
void
processStoredProcedure()
{
CallableStatementCallback cb
=
new
CallableStatementCallback()
{
public
Object doInCallableStatement(CallableStatement cs)
throws SQLException
{
cs.execute();
return
null
;
}
}
;
jdbcTemplate.execute(
"
{ ARCHIVE_STUDENTS }
"
, cb);
}
public
List getAllPersons()
{
String sql
=
"
select id, first_name, last_name from person
"
;
return
jdbcTemplate.query(sql,
new
RowMapperResultReader(
new
PersonRowMapper()));
}
public
String getLastNameForId(Integer id)
{
String sql
=
"
select last_name from person where id = ?
"
;
return
(String) jdbcTemplate.queryForObject(sql,
new
Object[]
{ id }
,
String.
class
);
}
public
int
getNumberOfPersons()
{
return
jdbcTemplate.queryForInt(
"
select count(*) from person
"
);
}
public
Person getPerson1(final Integer id)
{
String sql
=
"
select id, first_name, last_name from person where id = ?
"
;
final Person person
=
new
Person();
final Object[]
params
=
new
Object[]
{ id }
;
jdbcTemplate.query(sql,
params
,
new
RowCallbackHandler()
{
public
void
processRow(ResultSet rs) throws SQLException
{
person.setId(
new
Integer(rs.getInt(
"
id
"
)));
person.setFirstName(rs.getString(
"
first_name
"
));
person.setFirstName(rs.getString(
"
last_name
"
));
}
}
);
return
person;
}
public
Person getPerson2(final Integer id)
{
String sql
=
"
select id, first_name, last_name from person where id = ?
"
;
final Person person
=
new
Person();
final Object[]
params
=
new
Object[]
{ id }
;
List list
=
jdbcTemplate.query(sql,
params
,
new
RowMapperResultReader(
new
PersonRowMapper()));
return
(Person) list.
get
(
0
);
}
public
int
insertPerson(Person person)
{
String sql
=
"
insert into person (id, firstName, lastName) values (?, ?, ?)
"
;
Object[]
params
=
new
Object[]
{ person.getId(), person.getFirstName(),
person.getFirstName() }
;
int
[] types
=
new
int
[]
{ Types.INTEGER, Types.VARCHAR, Types.VARCHAR }
;
JdbcTemplate jdbcTemplate
=
null
;
return
jdbcTemplate.update(sql,
params
, types);
}
public
int
[] updatePersons(final List persons)
{
String sql
=
"
insert into person (id, firstName, lastName) values (?, ?, ?)
"
;
BatchPreparedStatementSetter setter
=
null
;
setter
=
new
BatchPreparedStatementSetter()
{
public
int
getBatchSize()
{
return
persons.size();
}
public
void
setValues(PreparedStatement ps,
int
index)
throws SQLException
{
Person person
=
(Person) persons.
get
(index);
ps.setInt(
0
, person.getId().intValue());
ps.setString(
1
, person.getFirstName());
ps.setString(
2
, person.getLastName());
}
}
;
return
jdbcTemplate.batchUpdate(sql, setter);
}
}
============
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import javax.sql.DataSource;
import org.springframework.jdbc.core.SqlParameter;
import org.springframework.jdbc.
object
.MappingSqlQuery;
import org.springframework.jdbc.
object
.SqlUpdate;
public
class
SpringJDBCDAOWithObject
{
class
InsertPerson extends SqlUpdate
{
public
InsertPerson(DataSource ds)
{
setDataSource(ds);
setSql(
"
insert into person (id, firstName, lastName) values (?, ?, ?)
"
);
declareParameter(
new
SqlParameter(Types.NUMERIC));
declareParameter(
new
SqlParameter(Types.VARCHAR));
declareParameter(
new
SqlParameter(Types.VARCHAR));
compile();
}
public
int
insert(Person person)
{
Object[]
params
=
new
Object[]
{ person.getId(),
person.getFirstName(), person.getLastName() }
;
return
update(
params
);
}
}
private
class
PersonByIdQuery extends MappingSqlQuery
{
public
PersonByIdQuery(DataSource ds)
{
super(ds,
"
select id, first_name, last_name from person
"
+
"
where id = ?
"
);
declareParameter(
new
SqlParameter(
"
id
"
, Types.INTEGER));
compile();
}
public
Object mapRow(ResultSet rs,
int
rowNumber) throws SQLException
{
Person person
=
new
Person();
person.setId((Integer) rs.getObject(
"
id
"
));
person.setFirstName(rs.getString(
"
first_name
"
));
person.setLastName(rs.getString(
"
last_name
"
));
return
person;
}
}
private
InsertPerson insertPerson;
private
PersonByIdQuery personByIdQuery;
public
Person getPerson(Integer id)
{
Object[]
params
=
new
Object[]
{ id }
;
return
(Person) personByIdQuery.execute(
params
).
get
(
0
);
}
public
int
insertPerson(Person person)
{
return
insertPerson.insert(person);
}
}
posted on 2005-03-03 14:40
jinfeng_wang
阅读(6194)
评论(3)
编辑
收藏
所属分类:
spring
评论
#
re: Spring JDBC DAO的两个example 2005-07-11 15:21
as
asdf
回复
更多评论
#
re: Spring JDBC DAO的两个example 2006-11-10 14:22
aa
好。
回复
更多评论
#
re: Spring JDBC DAO的两个example
2007-09-08 13:27
aaa
public List getAllPersons() {
String sql = "select id, first_name, last_name from person";
return jdbcTemplate.query(sql, new RowMapperResultReader(
new PersonRowMapper()));
}
大哥你的这个方法不对吧?这里应该是返回void类型,怎么会返回List呢?
我现在也在使用这个做项目,但是我做这个的时候就迷茫了,为什么网上的资料都这样,千篇一律.下面是我的代码.为什么我的就不行??
List ticketList = null;
ticketList = this.getJdbcTemplate().query(sql, new RowMapperResultReader(new AnteTicketMapper()));
return ticketList;
回复
更多评论
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
XDoclet的build.xml写法 zz
XDoclet Spring+Struts HowTo zz
Pro Spring: Spring and EJB (zz)
Pro Spring的目录
Spring Transaction
Spring封装Hibernate
Spring JDBC DAO的两个example
Spring DAO的哲学
Spring AOP中的Introduction
Spring AOP中的pointcut
Powered by:
BlogJava
Copyright © jinfeng_wang