spring + hibernate 配置数据源的问题

小凡没有笑 2015-09-18 05:56:30
为什么我在 dataSource 中配置了 url 和用户密码,并且也在 sessionFactory 中注入了数据源,运行时提示错误,连接的地址不是我在数据源中填写的url。
必须要我在 sessionFactory 中也配置上 url 和 账号密码,才能连接到数据库。
那配置数据源的是用来干什么的?

spring4 + hibernate3

数据源的配置

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<!-- 指定连接数据库的URL -->
<property name="jdbcUrl" value="jdbc:mysql://192.168.0.111:3306/test" />
<!-- 指定连接数据库的用户名 -->
<property name="user" value="root" />
<!-- 指定连接数据库的密码 -->
<property name="password" value="root" />
</bean>


sessionFactory 的配置

<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>test.entity.Type</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.connection.url">
jdbc:mysql://192.168.0.111:3306/test</prop>
<prop key="hibernate.connection.username">root</prop>
<prop key="hibernate.connection.password">root</prop>
<!-- 设置Hibernate方言 -->
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
......
</props>
</property>
</bean>
...全文
167 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Usher丶AckMan 2015-09-21
  • 打赏
  • 举报
回复
applicationContext.xml和hibernate.cfg.xml文件中都应该配置数据源的。我的项目是这样的,有的网上的可能把数据元写在别的配置文件中了
小凡没有笑 2015-09-19
  • 打赏
  • 举报
回复
引用 4 楼 nizhenfeng 的回复:
Access denied for user 'sa'@'192.168.0.106' (using password: NO),这是因为数据裤连接有问题,你确定数据库客户端root可以登录上去吗
我能连接到数据库上,出现这个的原因是我没有在 sessionFactory 中配置 url 和账号密码,导致他使用了这个"默认"的连接信息,然而我填写在数据源里面的连接信息没有起到作用.我看了网上很多教程,里面都没有在 sessionFactory 中配置 url 和账号密码,不知道我这里出了啥问题.
「已注销」 2015-09-18
  • 打赏
  • 举报
回复
Access denied for user 'sa'@'192.168.0.106' (using password: NO),这是因为数据裤连接有问题,你确定数据库客户端root可以登录上去吗
小凡没有笑 2015-09-18
  • 打赏
  • 举报
回复
引用 1 楼 skygpan 的回复:
不用啊。我这里的配置不需要啊。
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hiberante.format_sql">true</prop>
			</props>
		</property>
		<property name="packagesToScan" value="tiny.lichee.entity"/>
	</bean>
能看一下你的数据源怎么配置的吗?
小凡没有笑 2015-09-18
  • 打赏
  • 举报
回复
我只要把 sessionFactory 的连接信息注释掉就会出现下面的异常 Access denied for user 'sa'@'192.168.0.106' (using password: NO)
潘少博 2015-09-18
  • 打赏
  • 举报
回复
不用啊。我这里的配置不需要啊。
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource" />
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">${hibernate.dialect}</prop>
				<prop key="hibernate.hbm2ddl.auto">update</prop>
				<prop key="hibernate.show_sql">true</prop>
				<prop key="hiberante.format_sql">true</prop>
			</props>
		</property>
		<property name="packagesToScan" value="tiny.lichee.entity"/>
	</bean>

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧