Я только что начал использовать MySQL, и я просто вижу меня Уокинг со строками! Я подразумеваю, что компилятор не может зафиксировать ошибки как это, и это - просто путаница! Существует ли обертка или некоторый класс, я могу добавить, что это делает что-то столь же простое как создание функции, которая добавляет таблицу и просит args?
Я уверен, что существует инструмент как этот, но я не могу найти его или знать его имя.
Вы в основном ищете объектно-реляционный преобразователь. 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 можно найти в этой статье .
Вы можете использовать объектно-реляционный преобразователь, например Hibernate . См. Также Какую Java ORM вы предпочитаете и почему? .