迷失在众多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很新。
提前致谢
答案 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,然后你应该能够执行查询。