Where should I put the SQL files in my Java project?
In a Java/Maven setting we use as project hierarchy:
project/src/main/java/Package/Class.java
project/src/test/java/Package/ClassTest.java
project/src/main/resources/Package/resource.properties
project/src/test/resources/Package/test_resource.properties
And in order to answer your question: I would put the SQL-files along with the resources under src/main/resources.
You may want to have a look at this thread.
I'd be tempted to put the SQL queries in a dedicated SQL
folder under src. This separates the Java code from the SQL:
+ src
+ java
+ sql
- Package/Class.sql
+ test
Alternatively you could put them into simple properties files using the above structure:
getUserByName = select * from users where name=?
getUserByEmail = select * from users where email=?
getUserByLongQuery = select * from users where email=? \
and something = ? \
where something_else = ?
Also, I think it's worth mentioning that you can put multi-line strings into a Java class if you prefer to take that route:
class MyClass {
MY_QUERY = "select * from users where email = ? " +
"and something_else = ?";
}