Ответы пользователя по тегу MySQL
  • Как передать дату с jsp страницы через Spring в базу данных MySQL?

    @sirs
    Насколько я понимаю Ваша проблема связана с тем, что Вы используете java.util.Date и пытаетесь его сохранить в mysql. Есть несколько вариантов решения:
    1) В классе Client поменять тип поля на java.sql.Date и где-нибудь перед сохранением в бд делать конвертацию
    java.sql.Date birthDate= new java.sql.Date((birthDateInput).getTime());


    2) Добавить аннотацию @Temporal
    @Temporal(TemporalType.DATE)
    private Date birthDate;

    в классе Client.

    3) Собрать дату как string
    java.text.SimpleDateFormat sdf = 
         new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String birthDateTime = sdf.format(birthDateInput);

    и сохранить в базу. Минус будет в том, что при select нужно будет делать обратные действия.
    Ответ написан
    1 комментарий
  • Почему не выполняется sql-запрос в Hibernate?

    @sirs
    Ваша ошибка связана с тем, что hibernate возвращает List и не знает какой будет тип во время компиляции. Нужно добавить преобразование к нужному Вам типу.
    Попробуйте
    List<Tariff> tariffs = (List<Tariff>) session.createSQLQuery(sql).list();


    и @SuppressWarnings("unchecked") если смущают warnings.
    Ответ написан
    Комментировать
  • Наполнение таблицы MySQL Server Java?

    @sirs
    Первый совет - переделайте на PreparedStatement и почитайте про sql-инъекции.
    Во-вторых, в java есть более элегантные способы "склеить" строку, например тот же MessageFormat.format():
    String template= "First={0}, second={1}, third={2} parameters.";
    String foo = MessageFormat.format(template, "1234567890","Qq4443123505", "Andrew");
    Результат foo будет "First=1234567890, second=Qq4443123505, third=Andrew parameters."
    И самое главное: если я верно понимаю ваша ошибка связана с тем, что вы не обернули в ковычки параметры в запросе, т.е. у вас получилась строка:
    "insert into users (user_id, user_login,user_password, user_first_name, user_second_name, user_parent_name, user_phone_number, user_profession, administrator) values (1, 1234567890, Qq4443123505, Andrew, Makarov, Valerievich, 0939446910, IT-specialst, super);"

    а нужно:

    insert into users (user_id, user_login,user_password, user_first_name, user_second_name, user_parent_name, user_phone_number, user_profession, administrator) values (1, "1234567890", "Qq4443123505", "Andrew", "Makarov", "Valerievich", "0939446910", "IT-specialst", "super");

    Попробуйте в методе createField добавить:
    ...
    + "\"" + userLogin + "\", "
    + "\"" + userPassword + "\", "
    ...
    и т.д. для всех String параметров.
    Ответ написан
    1 комментарий