翠湖月色
No Buddha tree at all,And bright mirror nor.Now nothing at all,How dusts any more ?
首页
新随笔
联系
聚合
管理
随笔 - 247 文章 - 420 trackbacks - 0
<
2006年12月
>
日
一
二
三
四
五
六
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
本博客系个人收集材料及学习记录之用,各类“大侠”勿扰!
留言簿
(12)
给我留言
查看公开留言
查看私人留言
随笔分类
JavaEE(34)
Linux与Unix(6)
Web Services and SOA(16)
人文历史(17)
名词解释(2)
品读英语(18)
基础编程篇(9)
所感所悟(25)
报表设计与开发(12)
数据库(Sql server,My sql)(3)
数据结构与算法设计(9)
有关网络(5)
杂录(29)
经典视听(12)
网站应用(6)
脚本语言及页面设计(8)
软件测试技术(8)
阅读笔记(9)
收藏夹
开源项目(2)
编程开发(3)
网络应用(2)
My Favorite Web Sites
CSDN Java 频道
IBM developerWorks中国
Java开源大全
J道:Java解决之道
SpringFramwork中文论坛
中国万维网联盟论坛
中文Java学习网站-孙卫琴版主
中文Java技术主力站点-JR论坛
绿色软件下载-霏凡软件站
蝙蝠英语学习网
名Bloger
Martin Fowler's blog
No1
算法研究、C/C++
月光博客
非著名Bloger
willing的Blog
德贤Blog
放水老倌
搜索
积分与排名
积分 - 87519
排名 - 134
最新评论
1. re: 在WIN XP里,为什么图片的缩略图不能显示图片内容?
方法很好,问题很快解决
--楼主好人啊
2. re: 刘翔惊天举动让日本货绝迹中国
中国人要是改不了YY的毛病,永远超不过日本人……
--无聊的YY
3. re: FckEditor上传音频视频[未登录]
我照着修改了 ,可是还是无法上传wmv ,上传的FLV无法播放?怎么回事啊??
我自己在asp.net 下用的
方便得话给我个修改后的,xmdxxa@qq.com 谢谢了
--Kevin
4. re: FckEditor上传音频视频
您好,请给我发一份吧,万分感谢!
gy_zyp@126.com
--gyzyp
5. re: 在WIN XP里,为什么图片的缩略图不能显示图片内容?[未登录]
真感谢
--老赵
Spring IoC容器-编码方式比较
下面会通过一个获得数据源的例子来比较下传统编码模式和IoC编码模式的不同。首先,在传统编码方式下,我们可能这样获得数据源并显示结果:
package
com.lnic.ioc;
import
javax.sql.DataSource;
import
java.sql.Connection;
import
java.sql.Statement;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
org.apache.commons.dbcp.BasicDataSource;
public
class
BasicDataSourceExample
{
public
static
void
main(String[] args)
{
DataSource dataSource
=
setupDataSource();
//
创建JDBC数据源
Connection conn
=
null
;
Statement stmt
=
null
;
ResultSet rset
=
null
;
try
{
conn
=
dataSource.getConnection();
stmt
=
conn.createStatement();
rset
=
stmt.executeQuery(
"
select * from user
"
);
System.out.println(
"
Basic DataSource executing results:
"
);
int
numcols
=
rset.getMetaData().getColumnCount();
while
(rset.next())
{
for
(
int
i
=
1
; i
<=
numcols; i
++
)
{
System.out.print(
"
\t
"
+
rset.getString(i));
}
System.out.println(
""
);
}
}
catch
(SQLException e)
{
e.printStackTrace();
}
finally
{
try
{
rset.close();
}
catch
(Exception e)
{
}
try
{
stmt.close();
}
catch
(Exception e)
{
}
try
{
conn.close();
}
catch
(Exception e)
{
}
}
}
//
创建数据源
public
static
DataSource setupDataSource()
{
BasicDataSource ds
=
new
BasicDataSource();
ds.setDriverClassName(
"
com.mysql.jdbc.Driver
"
);
ds.setUsername(
"
root
"
);
ds.setPassword(
"
131421
"
);
ds.setUrl(
"
jdbc:mysql://localhost:3306/test
"
);
return
ds;
}
//
提示数据源状态
public
static
void
printDataSourceStats(DataSource ds)
throws
SQLException
{
BasicDataSource bds
=
(BasicDataSource) ds;
System.out.println(
"
NumActive:
"
+
bds.getNumActive());
System.out.println(
"
NumIdle:
"
+
bds.getNumIdle());
}
//
关闭数据源
public
static
void
shutdownDataSource(DataSource ds)
throws
SQLException
{
BasicDataSource bds
=
(BasicDataSource) ds;
bds.close();
}
}
这个累的测试结果显示:
Basic DataSource executing results:
123 matthew YunNanUniversity
1 lidexian YunNanUniversity
2 zhangzili HunanUniversity
而在Spring 的IoC容器的帮助下我们的编码会更简单和灵活。首先,定义个Spring的配置文件:applicationContext.xml。在这个配置文件中,我们配置了三个bean组件,代表不同的数据库数据源。然后,通过配置jdbcTemplate来启用需要的具体数据库数据源。如下:我们采用的MySql数据源。
<?
xml version="1.0" encoding="UTF-8"
?>
<!
DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"
>
<
beans
>
<
bean
id
="oracle_dataSource"
class
="org.apache.commons.dbcp.BasicDataSource"
destroy-method
="close"
>
<
property
name
="driverClassName"
value
="oracle.jdbc.driver.OracleDriver"
/>
<
property
name
="url"
value
="jdbc:oracle:thin:@localhost:1521:cyberdb"
/>
<
property
name
="username"
value
="scott"
/>
<
property
name
="password"
value
="tiger"
/>
</
bean
>
<
bean
id
="mysql_dataSource"
class
="org.apache.commons.dbcp.BasicDataSource"
destroy-method
="close"
>
<
property
name
="driverClassName"
value
="com.mysql.jdbc.Driver"
/>
<
property
name
="url"
value
="jdbc:mysql://localhost:3306/test"
/>
<
property
name
="username"
value
="root"
/>
<
property
name
="password"
value
="131421"
/>
</
bean
>
<
bean
id
="linux_oracle_dataSource"
class
="org.apache.commons.dbcp.BasicDataSource"
destroy-method
="close"
>
<
property
name
="driverClassName"
value
="oracle.jdbc.driver.OracleDriver"
/>
<
property
name
="url"
value
="jdbc:oracle:thin:@192.168.0.3:1521:linuxdb"
/>
<
property
name
="username"
value
="scott"
/>
<
property
name
="password"
value
="tiger"
/>
</
bean
>
<
bean
id
="jdbcTemplate"
class
="org.springframework.jdbc.core.JdbcTemplate"
lazy-init
="true"
>
<
property
name
="dataSource"
>
<
ref
local
="mysql_dataSource"
/>
</
property
>
</
bean
>
</
beans
>
然后,如下在代码中通过载入Spring的配置文件,并初始化bean组件:jdbcTemplate得到数据源,并完成数据查询。可以看出比传统的方法简单和灵活多了,只需要简单配置即可完成。
package
com.lnic.ioc;
import
java.sql.ResultSet;
import
java.sql.SQLException;
import
java.util.ArrayList;
import
java.util.List;
import
org.springframework.context.ApplicationContext;
import
org.springframework.context.support.ClassPathXmlApplicationContext;
import
org.springframework.jdbc.core.JdbcTemplate;
import
org.springframework.jdbc.core.RowCallbackHandler;
public
class
IocDataSourceExample
{
public
static
void
main(String[] args)
{
ApplicationContext ctx
=
new
ClassPathXmlApplicationContext(
"
com/lnic/ioc/applicationContext.xml
"
);
//
载入spring配置文件applicationContext.xml
String sql
=
"
select * from user
"
;
JdbcTemplate jt
=
(JdbcTemplate) ctx.getBean(
"
jdbcTemplate
"
);
//
这里采用spring的JdbcTemplate,通过spring的配置文件启用mysql_dataSource数据源。
jt.query(sql,
new
RowCallbackHandler()
{
public
void
processRow(ResultSet rs)
throws
SQLException
{
//
do something with the rowdata - like create a new
//
object and add it to the List in the enclosing code
System.out.println(
"
IocDataSource executing results:
"
);
int
numcols
=
rs.getMetaData().getColumnCount();
do
{
for
(
int
i
=
1
; i
<=
numcols; i
++
)
{
System.out.print(
"
\t
"
+
rs.getString(i));
}
System.out.println(
""
);
}
while
(rs.next());
}
}
);
}
}
代码输出如下:
IocDataSource executing results:
123 matthew YunNanUniversity
1 lidexian YunNanUniversity
2 zhangzili HunanUniversity
posted on 2006-12-26 13:25
matthew
阅读(234)
评论(0)
编辑
收藏
所属分类:
JavaEE
IT新闻
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
FckEditor编辑器添加对话框的内容
动态载入jsp页面到指定页面的区域
在线编辑器FCKeditor2.6中文乱码-解决过程
Struts的标签使用(1)
中文汉字GB2312和UTF-8的编码转换程序(转)
转载:js技巧收集(200多个) 3
转载:js技巧收集(200多个) 2
转载:js技巧收集(200多个) 1
MySQL的数据类型和建库策略-转贴
Hibernate和Jive缓存策略的比较-转贴