Как получить превосходящую террористическую проверку запросов MySQL

Я только что начал использовать MySQL, и я просто вижу меня Уокинг со строками! Я подразумеваю, что компилятор не может зафиксировать ошибки как это, и это - просто путаница! Существует ли обертка или некоторый класс, я могу добавить, что это делает что-то столь же простое как создание функции, которая добавляет таблицу и просит args?

Я уверен, что существует инструмент как этот, но я не могу найти его или знать его имя.

6
задан Raedwald 7 July 2014 в 11:58
поделиться

3 ответа

Вы в основном ищете объектно-реляционный преобразователь. Hibernate - один из пионеров в этой области. JPA - это новый и хорошо зарекомендовавший себя стандарт Java EE в этой области, созданный разработчиками Hibernate. Hibernate и EclipseLink предлагают реализации JPA.

Существуют инструменты IDE для автоматического создания классов Java на основе моделей баз данных и наоборот, такие как Hibernate Tools для «старого доброго» Hibernate и Eclipse Dali для JPA.

Если вы не хотите использовать ORM и / или не хотите автоматически генерировать объекты модели, вам просто нужно убедиться, что вы проектируете правильные объекты модели для модели базы данных. Т.е. используйте свойство Long для поля BIGINT , свойство BigDecimal для поля DECIMAL и т.д. Вы можете найти обзор сопоставлений по умолчанию на на этой странице .

В "обычном" JDBC вы должны использовать как минимум PreparedStatement методы для составления запроса SQL, а не конкатенацию в виде String. Существует множество методов setXXX () для конкретного типа данных, таких как setLong () , setBigDecimal () и так далее. PreparedStatement не только упрощает установку полнофункциональных объектов Java, таких как Date и InputStream , в запросе SQL, но также предотвращает внедрение кода SQL-инъекции атаки . Вы можете узнать больше о PreparedStatement в руководстве Sun JDBC , а базовое руководство по DAO можно найти в этой статье .

4
ответ дан 17 December 2019 в 02:24
поделиться

Вы можете использовать объектно-реляционный преобразователь, например Hibernate . См. Также Какую Java ORM вы предпочитаете и почему? .

1
ответ дан 17 December 2019 в 02:24
поделиться
1
ответ дан 17 December 2019 в 02:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: