SPRING 3 MVC - MySQL JDBC数据库连接配置

时间:2012-01-22 19:23:51

标签: java mysql spring-mvc

迷失在众多Java API和XML配置中。

我正在尝试使用Spring MVC创建一个应用程序,但却在使用XML配置。

我希望能够连接到mysql数据库......但我很难找到如何做到这一点的简洁方法。我不想使用Hibernate或任何其他框架,JDBC本身就足够了。

我希望能够创建数据库连接并访问可以根据需要更改查询的String变量。我认为问题在于xml配置,但我可能错了。

我已将下面显示的详细信息粘贴到application-context.xml文件中,但除非我将其删除,否则无法构建服务器。我不确定我是否遗漏了一些简单的东西!

<bean id="JdbcDao" class="com.bcash.DbAccess.JdbcDao">
    <property name="dataSource" ref="dataSource"/>
</bean>      

<bean id="dataSource"
      class="org.springframework.jdbc.datasource.DriverManagerDataSource"
      p:driverClassName="com.mysql.jdbc.Driver"
      p:url="jdbc:mysql://localhost:3306/db_name"
      p:username="root"
      p:password=""
      destroy-method="close" />

这是我为xml声明

编写的关联类
package com.bcash.DbAccess;

import javax.sql.DataSource;
import org.springframework.dao.DataAccessException;
import org.springframework.jdbc.core.JdbcTemplate;

public class JdbcDao {

private JdbcTemplate jdbcTemplate;
protected String query = "INSERT INTO    user('username','email','password','access_level') VALUES ('admin','test@test.com','testPassWord','admin')";


public void insertUser(){

    try{
        jdbcTemplate.update(query);

    } catch(DataAccessException e){

       String error =  e.getMessage();
       System.out.println(error);

    }

}

}

我得到的唯一错误是无法在ant构建脚本的第726行部署服务器

<target if="netbeans.home" name="-run-deploy-nb">
    <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
</target>

虽然,我对PHP很好,但我有点困惑,因为我对Java很新。

提前致谢

1 个答案:

答案 0 :(得分:5)

我不知道我真的关注你所问的关于构建的问题,但是看一下代码以及你如何设置东西,我确实看到了一个看起来像问题的东西。您似乎永远不会实例化JdbcTemplate并将其与dataSource相关联。

您应该将您的JdbcTemplate实例创建为这样的bean:

  <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
    <property name="dataSource">
      <ref bean="dataSource" />
    </property>
  </bean>

然后确保为jdbcTemplate变量设置set方法,并将对模板的引用传递给bean而不是dataSource。

<bean id="JdbcDao" class="com.bcash.DbAccess.JdbcDao">
    <property name="jdbcTemplate" ref="jdbcTemplate"/>
</bean>  

这样做你的JdbcTemplate会引用你的dataSource,然后你应该能够执行查询。