<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/Mysql_A?&useUnicode=true&characterEncoding=gbk]]>
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
</session-factory>
现在还应该有个连接是
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/Mysql_B?&useUnicode=true&characterEncoding=gbk]]>
</property>
怎么做??????
7 个解决方案
#1
建个工厂模式比较好
DAO多写几个每个DAO写上不同的DataSource
然后根据逻辑,在工厂里调用不同的DAO
其实你这种需求 采用ibatis会更好点。
DAO多写几个每个DAO写上不同的DataSource
然后根据逻辑,在工厂里调用不同的DAO
其实你这种需求 采用ibatis会更好点。
#2
不好意思,刚没说明白
项目刚开始没有这个需求,现在已经完成了,可又要求和一个php语言的论坛结合在一起,所以我现在的需求是这个项目的用户注册时,同时也要把用户注册信息写入到php连接的那个数据库中的一个表中. 我就想可以不可以改变jdbc:mysql://localhost/ Mysql_B? &useUnicode=true&characterEncoding=gbk,如果可以,该怎么做,谢谢!!!
项目刚开始没有这个需求,现在已经完成了,可又要求和一个php语言的论坛结合在一起,所以我现在的需求是这个项目的用户注册时,同时也要把用户注册信息写入到php连接的那个数据库中的一个表中. 我就想可以不可以改变jdbc:mysql://localhost/ Mysql_B? &useUnicode=true&characterEncoding=gbk,如果可以,该怎么做,谢谢!!!
#3
可以再建一个配置文件,用这个文件创建一个新的sessionFactory,对数据库b的操作就从这个sessionFacory拿session就可以了
#4
可以考虑从数据库端解决问题阿,为什么一定要改程序呢。
比如:触发器。
比如:触发器。
#5
大家说具体点,可以吗?本人比较菜
#6
默认hibernate.cfg.xml;
php.cfg.xml:
<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/discuz?&useUnicode=true&characterEncoding=gbk]]>
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<mapping resource="com/innoing/common/entity/discuz.hbm.xml" />
</session-factory>
程序中
SessionFactory mysqlFactory = new Configuration().configure("/php.cfg.xml").buildSessionFactory();
Session session1 = mysqlFactory.openSession();
Discuz discuz = new Discuz();
discuz.setUsername(username);
discuz.setPassword(md5_str);
session1.save(discuz);
session1.flush();
session1.clear();
不报错,就是不执行上面这段程序,为什么???
php.cfg.xml:
<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/discuz?&useUnicode=true&characterEncoding=gbk]]>
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<mapping resource="com/innoing/common/entity/discuz.hbm.xml" />
</session-factory>
程序中
SessionFactory mysqlFactory = new Configuration().configure("/php.cfg.xml").buildSessionFactory();
Session session1 = mysqlFactory.openSession();
Discuz discuz = new Discuz();
discuz.setUsername(username);
discuz.setPassword(md5_str);
session1.save(discuz);
session1.flush();
session1.clear();
不报错,就是不执行上面这段程序,为什么???
#7
终于搞定了 晕倒
#1
建个工厂模式比较好
DAO多写几个每个DAO写上不同的DataSource
然后根据逻辑,在工厂里调用不同的DAO
其实你这种需求 采用ibatis会更好点。
DAO多写几个每个DAO写上不同的DataSource
然后根据逻辑,在工厂里调用不同的DAO
其实你这种需求 采用ibatis会更好点。
#2
不好意思,刚没说明白
项目刚开始没有这个需求,现在已经完成了,可又要求和一个php语言的论坛结合在一起,所以我现在的需求是这个项目的用户注册时,同时也要把用户注册信息写入到php连接的那个数据库中的一个表中. 我就想可以不可以改变jdbc:mysql://localhost/ Mysql_B? &useUnicode=true&characterEncoding=gbk,如果可以,该怎么做,谢谢!!!
项目刚开始没有这个需求,现在已经完成了,可又要求和一个php语言的论坛结合在一起,所以我现在的需求是这个项目的用户注册时,同时也要把用户注册信息写入到php连接的那个数据库中的一个表中. 我就想可以不可以改变jdbc:mysql://localhost/ Mysql_B? &useUnicode=true&characterEncoding=gbk,如果可以,该怎么做,谢谢!!!
#3
可以再建一个配置文件,用这个文件创建一个新的sessionFactory,对数据库b的操作就从这个sessionFacory拿session就可以了
#4
可以考虑从数据库端解决问题阿,为什么一定要改程序呢。
比如:触发器。
比如:触发器。
#5
大家说具体点,可以吗?本人比较菜
#6
默认hibernate.cfg.xml;
php.cfg.xml:
<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/discuz?&useUnicode=true&characterEncoding=gbk]]>
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<mapping resource="com/innoing/common/entity/discuz.hbm.xml" />
</session-factory>
程序中
SessionFactory mysqlFactory = new Configuration().configure("/php.cfg.xml").buildSessionFactory();
Session session1 = mysqlFactory.openSession();
Discuz discuz = new Discuz();
discuz.setUsername(username);
discuz.setPassword(md5_str);
session1.save(discuz);
session1.flush();
session1.clear();
不报错,就是不执行上面这段程序,为什么???
php.cfg.xml:
<session-factory>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.url">
<![CDATA[ jdbc:mysql://localhost/discuz?&useUnicode=true&characterEncoding=gbk]]>
</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="hibernate.connection.provider_class">
org.hibernate.connection.C3P0ConnectionProvider
</property>
<property name="hibernate.c3p0.max_size">20</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.timeout">120</property>
<property name="hibernate.c3p0.max_statements">100</property>
<property name="hibernate.c3p0.idle_test_period">120</property>
<property name="hibernate.c3p0.acquire_increment">2</property>
<property name="show_sql">true</property>
<property name="dialect">
org.hibernate.dialect.MySQLDialect
</property>
<mapping resource="com/innoing/common/entity/discuz.hbm.xml" />
</session-factory>
程序中
SessionFactory mysqlFactory = new Configuration().configure("/php.cfg.xml").buildSessionFactory();
Session session1 = mysqlFactory.openSession();
Discuz discuz = new Discuz();
discuz.setUsername(username);
discuz.setPassword(md5_str);
session1.save(discuz);
session1.flush();
session1.clear();
不报错,就是不执行上面这段程序,为什么???
#7
终于搞定了 晕倒