【问题标题】:SPRING 3 MVC - MySQL JDBC DataBase Connection ConfigurationSPRING 3 MVC - MySQL JDBC 数据库连接配置
【发布时间】:2012-02-16 08:19:45
【问题描述】:

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

我正在尝试使用 Spring MVC 创建一个应用程序,但遇到了 XML 配置问题。

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

我希望能够创建一个数据库连接并访问一个可以根据需要更改查询的字符串变量。我认为问题出在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 还很陌生。

提前致谢

【问题讨论】:

  • 不清楚问题出在哪里——您是说除非删除数据源 XML 配置,否则您无法构建项目,但您没有收到任何消息?

标签: java mysql spring-mvc


【解决方案1】:

我不知道我是否真的按照您提出的有关构建的问题,但是查看代码以及您如何进行设置,我确实看到了一件看起来像问题的事情。看起来您从未实例化您的 JdbcTemplate 并将其与数据源相关联。

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

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

然后确保您的 jdbcTemplate 变量有一个 set 方法,并将对模板的引用传递给您的 bean 而不是数据源。

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

执行此操作,您的 JdbcTemplate 将引用您的数据源,然后您应该能够执行查询。

【讨论】:

  • 那么,那是唯一阻止部署的事情吗?我以前从未使用过nbdeploy,所以我不确定这是否是原因。
  • 是的,这是唯一阻止部署的事情。通过将 bean 详细信息移动到 dispatcher-servlet.xml 文件中,它成功地修复了它,并且运行良好!
猜你喜欢
  • 2015-04-01
  • 1970-01-01
  • 2017-11-18
  • 1970-01-01
  • 1970-01-01
  • 2013-08-14
  • 2014-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多