在java中使用jdbc进行数据库操作的时候
我们或许需要从多个表中进行查询和插入操作
特别是如果多个表还有相互的依赖关系的话,插入操作就显得非常难受
因为或许每一个动作,都需要重写一个完全不同的sql语句
这样的话代码量确实十分的大
而且代码会显得累赘和实用性不高
那么,解决这个问题最好的办法就是动态生成sql语句
这个技术的要求不高
重要的是思想
思想到位了,其实写出来很容易
示例代码:
package sqlserver.selecter.meal;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Sqlserver_All_Power_Selecter {
protected Statement statement;
protected ResultSet result;
protected String sql_begin = "select * from ";
protected String sql_middle = " where meal_id = '";
protected String sql_end = "'";
public Sqlserver_All_Power_Selecter(Statement statement){
this.statement = statement;
}
public ResultSet selectTbo(String Tbo, String meal_id){
try {
String sql = sql_begin + Tbo + sql_middle + meal_id + sql_end;
result = statement.executeQuery(sql);
System.out.println("已从" + Tbo + "中获取到药膳" + meal_id + "的数据");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
result.next();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return result;
}
}