java datasource使用_DataSource 使用方法

DataSource接口(javax.sql.DataSource)替代DriverManager获取Connection的方法,有以下好处:

可以在部署时灵活更换Connection实现;

可以更好的屏蔽数据库的相关性。

以下以oracle为例说明。

使用厂商DataSource

数据库厂商在提高JDBC2.0和以上版本的JDBC驱动中应该包含厂商的DataSource实现。

OracleDataSource ods = new OracleDataSource();

ods.setUser(“my_user”);

ods.setPassword(“my_password”);

ods.setURL(“jdbc:oracle:thin:@”);

Connection conn = ods.getConnection();

第三方DataSource

第三方厂商也可提供DataSource实现,比如免费开源的有DBCP,C3P0和proxool等,中间件厂商比如ibm的websphere,bea的weblogic等也都有实现。

以下是DBCP的示例:

BasicDataSource basicDataSource = new BasicDataSource();

basicDataSource.setDriverClassName(“oracle.jdbc.OracleDriver”);

basicDataSource.setUrl(“jdbc:oracle:thin:@”);

basicDataSource.setUsername(“user”);

basicDataSource.setPassword(“password”);

Connection connection=basicDataSource.getConnection();

结合JNDI的DataSource

以tomcat为例,将数据库驱动库复制到{tomcat}/commmon/lib目录下。

配置{tomcat}/conf/context.xml文件,加入:

driverClassName=”org.apache.derby.jdbc.ClientDriver”

url=”jdbc:derby://localhost:1527/demo”

username=”test”

password=”test”

maxActive=”2″

maxIdle=”1″

removeAbandoned=”true”

maxWait=”300″ />

在程序中访问DataSource:

Context initContext = new InitialContext();

// 注意: 以下写法只适用于tomcat(java:/comp/env).

Context envContext = (Context) initContext.lookup(“java:/comp/env”);

dataSource = (DataSource) envContext.lookup(“jdbc/demo”);

配置内容也可以加到webapp/META-INF/context.xml文件中,这样更便于打包部署。

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2011-03-03 14:26

浏览 2543

评论

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,这是一个关于Java Spring框架中配置JDBC连接DataSource的问题。在Spring中,我们可以使用以下配置来连接数据源: 1. 配置数据源 ``` <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <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="root"/> </bean> ``` 在这个配置中,我们使用了`DriverManagerDataSource`来创建数据源,你也可以使用其他的数据源,比如`BasicDataSource`、`C3P0DataSource`、`HikariDataSource`等。 2. 配置JdbcTemplate ``` <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource" ref="dataSource"/> </bean> ``` 在这个配置中,我们使用了`JdbcTemplate`来执行SQL语句,这个类提供了一系列的方法,比如`queryForObject`、`queryForList`、`update`等,可以方便地执行SQL语句。 3. 使用JdbcTemplate ``` @Autowired private JdbcTemplate jdbcTemplate; public void someMethod() { String sql = "SELECT * FROM user WHERE id=?"; User user = jdbcTemplate.queryForObject(sql, new Object[]{1}, new BeanPropertyRowMapper<>(User.class)); } ``` 在这个示例中,我们使用了`JdbcTemplate`的`queryForObject`方法来执行SQL语句,并将结果转换为一个`User`对象。 希望这个回答能够帮到你,如果还有问题,可以继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值