Search code examples
springjavabeansdatasourcedefinition

How to Define a MySql datasource bean via XML in Spring


I've looked over the documentation to define a bean. I'm just unclear on what class file to use for a Mysql database. Can anyone fill in the bean definition below?

<bean name="dataSource" class="">
    <property name="driverClassName" value="" />
    <property name="url" value="mysql://localhost/GameManager" />
    <property name="username" value="gamemanagertest" />
    <property name="password" value="1" />
</bean>

Solution

  • Both the answers are appropriate for the question. But just for an FYI if you're going to use DriverManagerDataSource as your datasource, every call to your datasource bean will create a new connection to your database which is not recommended for production and even it does not pool connections.

    If you need a connection pool, consider Apache Commons DBCP.

    <bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName" value="com.mysql.jdbc.Driver" />
        <property name="url" value="jdbc:mysql://localhost:3306/GameManager" />
        <property name="username" value="gamemanagertest" />
        <property name="password" value="1" />
        <property name="initialSize" value="2" />
        <property name="maxActive" value="5" />
    </bean>
    

    Where initialSize and maxActive are pooling related properties.

    To use this make sure you have the required jar in your path.