在Spring框架中获取连接池可以有哪些方式

在Spring框架中获取连接池可以有哪些方式,第1张

1让tomcat容器启动创建数据库连接池2在某个项目中关联数据库连接池,3取得数据库连接池并使用。使用包括,当拿到数据库连接后,可以通过2种方式来使用,1使用jstl的标签,2封装成返回connection的方法。

经过access测试,ok

String url = "jdbc:odbc:test";//最后一个为数据库名

Statement sm = null;

String command = null;

ResultSet rs = null;

String tableName = null;

String cName = null;

String result = null;

String []pram = new String[1];

List <String> tables = new ArrayList<String>();

pram[0] = "table";

BufferedReader input = new BufferedReader(new InputStreamReader(

Systemin));

try {

try {

ClassforName("sunjdbcodbcJdbcOdbcDriver"); // 加载驱动

} catch (ClassNotFoundException e) {

Systemoutprintln("Can not load Jdbc-Odbc Bridge Driver");

Systemerrprint("ClassNotFoundException:");

Systemerrprintln(egetMessage());

}

Connection con = DriverManagergetConnection(url, "admin", "admin"); // 连接到数据库

DatabaseMetaData dm = congetMetaData();

rs = dmgetTables(null, null, null, pram);//查找所有的表

while(rsnext()){

tablesadd(rsgetString(3));

}

rsclose();

for(String tb : tables){

rs = dmgetColumns(null, null, tb, null);//查找当前表的字段

Systemoutprintln("\nthe table is: " + tb);

ResultSetMetaData rsmd = rsgetMetaData();

int len, type;

len = rsmdgetColumnCount();

// Systemoutprintln(len);

for(int i = 1; i <= len; i ++){

type = rsmdgetColumnType(i);

//这里是获取了一个字段类型的int型,需要转化成string的话要做一个swtich,就不转了,你自己看javasqlTypes这个类去

Systemoutprint("\t" + rsmdgetColumnName(i) + ": " + rsmdgetColumnType(i));

}

}

rsclose();

conclose();

// }

} catch (SQLException ex) {

Systemoutprintln("SQLException:");

while (ex != null) {

Systemoutprintln("Message:" + exgetMessage());

ex = exgetNextException();

}

} catch (Exception e) {

Systemoutprintln("IOException");

}

不知道你说的动态配置是怎样的

---------------------------------spring配置文件--------------------------------------------

<!--从根路径下的dbproperties加载数据源信息-->

<context:property-placeholder

ignore-unresolvable="true" location="classpath:dbproperties" />

<!-- 数据源配置, 使用DBCP数据库连接池 -->

<bean id="dataSource" class="orgapachecommonsdbcpBasicDataSource"

destroy-method="close">

<!-- Connection Info -->

<property name="driverClassName" value="${jdbcdriver}" />

<property name="url" value="${jdbcurl}" />

<property name="username" value="${jdbcuser}" />

<property name="password" value="${jdbcpassword}" />

<property name="maxActive" value="${dbcpmaxActive}" />

<property name="maxIdle" value="${dbcpmaxIdle}" />

<property name="timeBetweenEvictionRunsMillis" value="3600000" />

<property name="minEvictableIdleTimeMillis" value="3600000" />

</bean>

-------------------------------------dbproperties--------------------------------------

//把driver改成oracle的,下面也相应改成oracle的信息就能把数据源设置为oracle

jdbcdriver=commysqljdbcDriver  

jdbcurl=jdbc:mysql://172190127:8066/addl

jdbcuser=root

jdbcpassword=

dbcpmaxActive=10

dbcpmaxIdle=10

spring事务内查询别的数据源方法:

增加repository隔离层,增加Dbswitch注解,通过AOP拦截实现对repository的mysql数据库 *** 作方法进行方法前数据源切换。

不使用spring声明式事务,改为手动式事务,切换数据源的时候都获取request_new新事务,保证数据源能切换成功,提供事务改为从队尾开始链式提交,

需要在项目中进行数据源的配置来为数据 库的 *** 作取得数据库连接。

配置不同数据库的数据源的方法大体上都是相同的,不同的只是不同数据库的JDBC驱动类和连接URL以及相应的数据库用户名和密 码不同。

页面跳转的话,可以用jstl标签库:

<c:forEach items="${map}" var="entry">

       <c:out value="${entrykey}" />

        <c:out value="${entryvalue}" />

</c:forEach>

以上就是关于在Spring框架中获取连接池可以有哪些方式全部的内容,包括:在Spring框架中获取连接池可以有哪些方式、java中如何得到数据库中表的字段类型、spring 怎么动态配置 连接不同的数据库.oracle 或是mysql等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9409314.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存