MySQL服务器与hibernate和spring连接10次后未连接

MySQL服务器与hibernate和spring连接10次后未连接,mysql,spring,hibernate,Mysql,Spring,Hibernate,这是我的设想。 我已经为基本登录注销实现了SpringMVC。 当我使用10个mysql连接时,我无法登录,因为我没有从mysql获得新连接 我正在使用hibernate获取mysql连接 有人能帮我吗? [这是配置][1] <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverCla

这是我的设想。 我已经为基本登录注销实现了SpringMVC。 当我使用10个mysql连接时,我无法登录,因为我没有从mysql获得新连接

我正在使用hibernate获取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>

schema.hbm.xml
org.hibernate.dialogue.mysqldialogue
10
5.
100
编辑:

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;
    }
}`
公共用户findByUserName(字符串用户名){
列表用户=新建ArrayList();
users=getSessionFactory().openSession().createQuery(“来自用户名=?”的用户”)
.setParameter(0,用户名).getResultList();
如果(users.size()>0){
返回用户。获取(0);
}否则{
返回null;
}
}`
请尝试:

Session session = getSessionFactory().openSession();
users = session.createQuery("from User where userName=?").setParameter(0, userName).getResultList();

    if (users.size() > 0) {
        return users.get(0);
    } else {
        return null;
    }

session.close();

你能不能也显示一下你的代码,配置不够。请不要链接。我已经添加了配置和代码来检查用户。请不要使用
openSession
使用
getCurrentSession
。。。如果您使用
openSession
,您正在spring范围之外打开一个会话,您必须自己管理它。如果
getCurrentSession
给您一个异常,表明您的tx设置错误。谢谢@Deinum,getCurrentSession工作正常。