-1
これは私のシナリオです。 私は基本的なログインログアウトのためにspring mvcを実装しました。 10個のmysql接続を使用すると、mysqlから新しい接続が得られないため、ログインできません。ハイバーネイトとバネで10回接続した後にMySQLサーバが接続しない
私は、MySQL接続を取得するために休止状態を使用しています。
誰かお手伝いできますか? [これは構成です] [1]
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false" />
<property name="username" value="root" />
</bean>
<!-- Hibernate session factory -->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="mappingResources">
<list>
<value>schema.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
<prop key="hibernate.c3p0.timeout">10</prop>
<prop key="hibernate.c3p0.min_size">5</prop>
<prop key="hibernate.c3p0.max_size">100</prop>
</props>
</property>
</bean>
<bean id="dao" class="com.tavant.DAO.TestDAO">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
編集:
public User findByUserName(String userName) {
List<User> users = new ArrayList<User>();
users = getSessionFactory().openSession().createQuery("from User where userName=?")
.setParameter(0, userName).getResultList();
if (users.size() > 0) {
return users.get(0);
} else {
return null;
}
}`
をあなたのコードは、同様にしてください示しすることができ、設定は十分ではありません。そして、リンクをしないでください。 –
ユーザーを確認するための設定とコードを追加しました。 –
'openSession'を使用しないでください。' getCurrentSession'を使用してください。もしあなたが 'openSession'を使うと、あなたは春の範囲外のセッションを開き、あなた自身でそれを管理しなければなりません。 'getCurrentSession'があなたのtx設定が間違っていることを示す例外を与えた場合。 –