如何获得MySQL查询的优质恐怖检查

kal*_*lix 6 java mysql orm jdbc

我刚刚开始使用MySQL,我只能看到自己用字符串唤醒!我的意思是编译器无法捕获这样的错误,这只是一团糟!是否有一个包装器或我可以添加的某种类,它可以做一些简单的事情,比如创建一个添加表并询问args的函数?

我确定有这样的工具,但我找不到它或知道它的名字.

Bal*_*usC 4

您基本上是在寻找对象关系映射器。Hibernate是该领域的先驱之一。JPA是该领域一个新的、成熟的 Java EE 标准,由 Hibernate 背后的人制定。Hibernate 和EclipseLink提供 JPA 实现。

有一些 IDE 工具可以根据数据库模型自动生成 Java 类,反之亦然,例如用于“老旧”Hibernate 的 Hibernate Tools和用于 JPA 的Eclipse Dali

如果您不想使用 ORM 和/或不想自动生成模型对象,那么您只需确保为数据库模型设计正确的模型对象。即使用字段Long的属性BIGINT、字段BigDecimal的属性DECIMAL等等。您可以在此页面中找到默认映射的概述。

在“plain vanilla”JDBC 中,您至少应该使用PreparedStatement方法来组成 SQL 查询,而不是连接为字符串。针对特定数据类型有很多setXXX()方法,例如setLong()setBigDecimal()、等等。这PreparedStatement不仅简化了在 SQL 查询中设置完整的 Java 对象(例如Date和 )的过程InputStream,而且还可以防止代码遭受SQL 注入 攻击PreparedStatement您可以在Sun JDBC 教程中了解更多信息,并且可以在本文中找到基本的启动 DAO 教程。