ВЕСНА 3 MVC - Конфигурация соединения базы данных MySQL JDBC - PullRequest
4 голосов
/ 22 января 2012

Потерян во множестве настроек 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);

    }

}

}

Единственная ошибка, которую я получаю, это то, что сервер не может быть развернут в строке 726 сценария сборки ant

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

Хотя с PHP у меня все в порядке, я немного запутался, поскольку я довольно новичок в Java.

Заранее спасибо

1 Ответ

5 голосов
/ 22 января 2012

Я не знаю, действительно ли я слежу за вопросом, который вы задаете о сборке, но, глядя на код и то, как у вас все настроено, я вижу одну вещь, которая выглядит как проблема.Похоже, вы никогда не создаете экземпляр своего JdbcTemplate и связываете его с источником данных.

Вы должны создать свой экземпляр JdbcTemplate в виде компонента, подобного этому:

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

Затем убедитесь, что у вас естьустановите метод для вашей переменной jdbcTemplate и передайте ссылку на шаблон в ваш компонент вместо источника данных.

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

При этом ваш JdbcTemplate будет иметь ссылку на ваш источник данных, и тогда вы сможетевыполнять запросы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...