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

时间:2010-06-02 11:15:39

标签: java mysql orm jdbc

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

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

3 个答案:

答案 0 :(得分:4)

您基本上在寻找对象关系映射器。 Hibernate是这一领域的领袖之一。 JPA是这个领域新的,完善的Java EE标准,由Hibernate背后的人组成。 Hibernate和EclipseLink提供了JPA实现。

存在基于数据库模型自动生成Java类的IDE工具,反之亦然,例如Hibernate Tools表示“旧的”Hibernate,Eclipse Dali表示JPA。

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

在“普通的vanilla”JDBC中,您至少应该使用PreparedStatement方法来编写SQL查询,而不是连接为String。特定数据类型有很多setXXX()方法,例如setLong()setBigDecimal()等。 PreparedStatement不仅可以简化在SQL查询中设置DateInputStream等值得满足的Java对象,还可以阻止来自SQL injection attacks的代码。您可以在Sun JDBC tutorial中了解有关PreparedStatement的更多信息,您可以在this article找到基本的启动DAO教程。

答案 1 :(得分:1)

您可以使用Hibernate之类的对象关系映射器。另请参阅What Java ORM do you prefer, and why?

答案 2 :(得分:1)

尝试使用JDBC prepared statements