我正在编写一个与数据库交互的应用程序。我想使用PreparedStatement
来执行查询,但我必须做的查询数量很多,将来可能会增加。
我只知道为特定查询编写一个函数来执行它,并且无法想到更好的方法。
例如查询可以是:
SELECT *
FROM TABLE_NAME
WHERE TABLE_NAME.ATTRIBUTE_NAME = ?
和
SELECT *
FROM TABLE_NAME
WHERE TABLE_NAME.ATTRIBUTE_NAME = ?
AND TABLE_NAME.ATTRIBUTE_NAME1 = ?
我将不得不编写一个独立的函数来执行(an example如何为一个查询执行此操作),但我知道这不是一种模块化的方法。
有更好的方法吗?
答案 0 :(得分:0)
IMO是一个非常好的解决方案,可以使用JOOQ库 只是
(您也可以使用简单的SQL-executor,如here所述)
完成。这是你的图书馆。
之后,要从程序上下文中分离出来,请创建一个类似
的界面interface MyOperations {
public int getUserById(int userID);
}
class MyOperationsImpl implements MyOperations {
public MyOperationsImpl(Connection connection) {...}
int getUserById(int userID) {
DSLContext create = DSL.using(this.connection, SQLDialect.MYSQL);
create.select().from(USERS).where(USERS.ID.equal(userID));
}
}
这可以通过某种方式回答您的问题或帮助吗?