「java动态数据源」java 动态数据源

博主:adminadmin 2023-01-04 07:33:07 879

今天给各位分享java动态数据源的知识,其中也会对java 动态数据源进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java程序员在面试中被问到如何配置多数据源以及如何配置多数据源下的分布式事务,该怎么回答?看清再做答

你好,我来先回答你的第一个问题:

通常多数据源,在spring中配置如下,如果你想切换环境ENV 的值,在property中

bean id="placeholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"

property name="ignoreResourceNotFound" value="true"/property

property name="ignoreUnresolvablePlaceholders" value="true"/property

property name="nullValue" value="NULL"/property

property name="locations"

list

valuejdbc.properties/value

/list

/property

/bean

bean id="dataSource" class="com.spring.dao.JDBCConfig"

property name="driverClassName" value="${${Env}.jdbc.driverClassName}"/property

property name="url" value="${${Env}.jdbc.url}"/property

property name="username" value="${${Env}.jdbc.username1}"/property

property name="password" value="${${Env}.jdbc.password}"/property

/bean

jdbc.properties

*****************************

Env=PROD

jdbc.driverClassName=${${Env}.jdbc.driverClassName}

jdbc.url=${${Env}.jdbc.url}

jdbc.username=${${Env}.jdbc.username}

jdbc.password=${${Env}.jdbc.password}

######### JDBC Configuration for DEV Environment ###############

DEV.jdbc.driverClassName=com.mysql.jdbc.Driver

DEV.jdbc.url=jdbc:mysql://localhost:3306/devportal

DEV.jdbc.username=DEVuser

DEV.jdbc.password=DEVpwd

######### JDBC Configuration for UAT Environment ############

UAT.jdbc.driverClassName=com.mysql.jdbc.Driver

UAT.jdbc.url=jdbc:mysql://localhost:3306/UATportal

UAT.jdbc.username=UATuser

UAT.jdbc.password=UATpwd

########## JDBC Configuration for PROD Environment ############

PROD.jdbc.driverClassName=com.mysql.jdbc.Driver

PROD.jdbc.url=jdbc:mysql://localhost:3306/portal

PROD.jdbc.username=root

PROD.jdbc.password=admin,

我这里有三套环境,分别是DEV,UAT和PROD,这种方式可以灵活切换的。

我再回答你的第二个问题:

还请你去这里看下,很详细,不过是英文的哦

如何使用java动态创建ODBC数据源

jdbc数据库连接:1.加载驱动Class.forName(“xxxDriver”)2建立连接:Connection conn= DriverManager.getConnection(url,user,password);(url是连接地址ip端口号和数据库实例名,user用户名,password密码)3获取statement对象:Statement stmt=conn.createStatement();4通过Statement执行Sql语句:stmt.executeQquery(String sql)会返回查询结果集,stmt.executeUpdate(String sql)返回int型,表示影响记录的条数;5处理结果:ResultSet rs=str.executeQuery(String sql);while(rs.next()){

System.out.println(rs.getInt(id));

}

5:关闭数据源:rs.close();

下面是连接各种数据库的方法:

1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

String url="jdbc:oracle:thin:@localhost:1521:orcl";

//orcl为数据库的SID

String user="test";

String password="test";

Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

String url="jdbc:db2://localhost:5000/sample";

//sample为你的数据库名

String user="admin";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

3、Sql Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

//mydb为数据库

java频繁切换数据源会不会很耗时

现在在NWA中就可以调整的。应该和CE的一样,无论使用UME,CUA还是LDAP,只不过是数据源发生改变,而同样可以使用UME的API访问。数据源中主要包括用户,角色等信息,而Portal上的角色信息和数据源上的角色信息不是一个概念。

如何动态添加数据源

1、动态创建数据源

2、手工注册Bean

Java代码

ApplicationContext ctx = null;

if(ctx instanceof ConfigurableWebApplicationContext) {

((ConfigurableWebApplicationContext)ctx).getBeanFactory().registerSingleton("D", "D");

} else if(ctx instanceof GenericApplicationContext) {

((GenericApplicationContext)ctx).getBeanFactory().registerSingleton("D", "D");

} else if(ctx instanceof ConfigurableApplicationContext) {

((ConfigurableApplicationContext)ctx).getBeanFactory().registerSingleton("D", "D");

Java web点击按钮切换数据源

如果要在Javaweb切换数据源,首先你需要新建数据源常量类,此类中的常量是通过spring-db.xml映射对应的,然后配置spring-db.xml,这个是spring链接数据库的配置文件,再进行动态数据源设置,这个类是用来切换数据源,再获取jdbcTemplate的管理类。最后测试动态数据源,一般会用Junit4做单元测试。

总结:这种切换比较规范和简单,麻烦的是必须先配置多个数据源,以前是参考网上资料,自己修改的,希望对你有参考作用!

关于java动态数据源和java 动态数据源的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。