㈠ 在java SpringMVC中,兩個不同項目工程的Controller可以通過什麼聯系起來
不知道你的兩個項目連的是不是同一個資料庫,如果是同一個資料庫的話可以放進去資料庫中,另一個項目去資料庫讀取
或者兩個項目在同一台伺服器的話可以放在內存中,然後去讀,比如用redis
㈡ Spring Mvc一個項目怎麼連接兩個資料庫
數據源在配置文件中的配置
[java] view plain print?
<pre name="code" class="java"><?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
xmlns:p="http://www.springframework.org/schema/p" xmln
㈢ springmvc中的怎麼配置多個
場景描述:有多個資料庫,每個資料庫可能分布在不同的mysql instance上面,有多個存儲過程,每個存儲過程可能分布在不同的資料庫中,需要有兩個配置文件。
1. mysql 資料庫映射:
A.driverClassName=com.mysql.jdbc.Driver
A.url=jdbc:mysql://172.20.7.51:3308/blog
A.username=trappuser
A.password=Opera1!
B.driverClassName=com.mysql.jdbc.Driver
B.url=jdbc:mysql://localhost:3306/wedding
B.username=root
B.password=opera
上面定義的A、B為兩個mysql instance的縮寫。
2. 存儲過程與mysql instance的映射關系:
SP_Get_User=A
GetStocks=B
定義兩個模擬存儲過程,第一個資料庫「SP_Get_User「是在資料庫A下面,第二個資料庫」GetStocks「是在資料庫B下面。
3. 建立自定義的sessionFactory
3.1 xml配置的datasource及sessionFactory如下:
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close" id="dataSource">
<property name="driverClassName" value="${database.driverClassName}"/>
<property name="url" value="${database.url}"/>
<property name="username" value="${database.username}"/>
<property name="password" value="${database.password}"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="packagesToScan" value="com.xx.assetcommander">
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
此處我們定義的sessionFactory的類型為LocalSessionFactoryBean,它是一個工廠對象,與我們再需要的 SessionFactory不是一回事,我們需要的sessionfactory是org.hibernate.SessionFactory,這個對象可以被第一個sessionFactory的getObject()方法生成。
3.2 由於我們連接的是多個mysql instance, 不方便在xml中配置多個datasource和多個sessionFactory,故可以通過純java的形式開發,可以使用map來存儲存儲過程與mysql database的關系,將存儲過程的名字和資料庫建議關系,這樣通過存儲過程的名稱就能得到資料庫的縮寫名,通過資料庫的縮寫名能夠找到對應的mysql instance,使用純java開發的過程類似於xml配置,如下:
ds.setDriverClassName(getDriver());
ds.setUrl(getUrl());
ds.setUsername(getUsername());
ds.setPassword(getPassword());
LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean();
sessionFactory.setDataSource(ds);
sessionFactory.setPackagesToScan("com.xx.assetcommander");
Properties params = new Properties();
params.setProperty("hibernate.dialect",
"org.hibernate.dialect.MySQLDialect");
params.setProperty("hibernate.show_sql", "true");
sessionFactory.setHibernateProperties(params);
當我們獲得可以使用的LocalSessionFactoryBean時候,在調用getObject()獲得SessionFactory之前,必須要調用afterPropertiesSet()方法,否則得到的sessionFactory為空。
public Session getDsBySp(String spName) throws IOException {
//get the corresponding mysql database shortname by sp name
String dbName = getDbForSP(str);
//get the corresponding mysql instance connection by mysql database shortname
LocalSessionFactoryBean fB = getDsByDb(dbName);
// don't forget this line or null will be returned when you call getObject() method.
fB.afterPropertiesSet();
return fB.getObject().openSession();
}
註:在tomcat啟動時,如果沒有配置任何datasource,會出現如下錯誤:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [javax.persistence.EntityManagerFactory] is defined
故需要配置默認的datasource.
這種方式需要做到不同的資料庫instance直接業務的完全獨立,不可以出現跨資料庫的表join,否則處理難度會增加。
還有就是對於多資料庫直接的事務管理如何去處理?
㈣ springmvc spring hibernate 怎麼配置連接兩個資料庫
persistent.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0">
<persistence-unit name="userPU" transaction-type="RESOURCE_LOCAL">
<!--jpa的提供者-->
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<!--聲明資料庫連接的驅動-->
<property name="hibernate.connection.driver_class" value="com.mysql.jdbc.Driver"/>
<!--jdbc資料庫的連接地址-->
<property name="hibernate.connection.url" value="jdbc:mysql://localhost:3306/manager?characterEncoding=gbk"/>
<property name="hibernate.connection.username" value="root"/>
<property name="hibernate.connection.password" value="123456"/>
<!--配置方言-->
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5Dialect"/>
<!--激活查詢日誌功能-->
<property name="hibernate.show_sql" value="true"/>
<!--優雅地輸出Sql-->
<property name="hibernate.format_sql" value="true"/>
<!--添加一條解釋型標注-->
<property name="hibernate.use_sql_comments" value="false"/>
<!--配置如何根據java模型生成資料庫表結構,常用update,validate-->
<property name="hibernate.hbm2ddl.auto" value="update"/>
</properties>
</persistence-unit>
</persistence>
applicationContext.xml配置
<!--第二步-->
<!--定義實體的工廠bean-->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.">
<property name="persistenceUnitName" value="userPU" />
<property name="persistenceXmlLocation" value="classpath:persistence.xml"></property>
</bean>
<!--第三步-->
<!--定義事務管理器-->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>
㈤ spring mvc連接兩個庫的問題。
資料庫連接池配置代碼 配兩套 然後DAO分別調用對應庫的數據源
㈥ 怎麼在一個項目中連接兩個資料庫
A類是A資料庫;B類是B資料庫。 A按鈕調用A語句查詢A資料庫,B按鈕調用B語句查詢B資料庫,A的時間裡面就去調A連接,B的時間裡面就去調B連接
㈦ spring+springmvc+springdata+jpa框架怎麼連接兩個不同的資料庫
hibernate可以根據實體直接正向生成資料庫 不過要在你這句 後邊加上 要自動建表的話首先資料庫要存在 比如要生成db1中的表 則需要先創建資料庫db1(oracle中就不用了) 換資料庫的時候首先要改的是連接字元串 還有就是方言(dialect) jpa下的hibe
㈧ spring+springmvc+mybatis是怎麼連接資料庫的
創建資料庫
選擇開始菜單中→程序→【management
sql
server
2008】→【sql
server
management
studio】命令,打開【sql
server
management
studio】窗口,並使用windows或
sql
server身份驗證建立連接。
在【對象資源管理器】窗口中展開伺服器,然後選擇【資料庫】節點
右鍵單擊【資料庫】節點,從彈出來的快捷菜單中選擇【新建資料庫】命令。
執行上述操作後,會彈出【新建資料庫】對話框。在對話框、左側有3個選項,分別是【常規】、【選項】和【文件組】。完成這三個選項中的設置會後,就完成了資料庫的創建工作,
在【資料庫名稱】文本框中輸入要新建資料庫的名稱。例如,這里以「新建的資料庫」。
在【所有者】文本框中輸入新建資料庫的所有者,如sa。根據資料庫的使用情況,選擇啟用或者禁用【使用全文索引】復選框。
在【資料庫文件】列表中包括兩行,一行是資料庫文件,而另一行是日記文件。通過單擊下面的【添加】、【刪除】按鈕添加或刪除資料庫文件。
切換到【選項頁】、在這里可以設置資料庫的排序規則、恢復模式、兼容級別和其他屬性。
切換到【文件組】頁,在這里可以添加或刪除文件組。
完成以上操作後,單擊【確定】按鈕關閉【新建資料庫】對話框。至此「新建的數據」資料庫創建成功。新建的資料庫可以再【對象資源管理器】窗口看到。