Dao层的内容
public List<Message> queryMessageList(String command, String description){
List<Message> messageList = new ArrayList<Message>();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/micro_message", "root", "root"); //需要改一下
//String sql = "select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE";
//这里,直接写列名,不要用*号-----因为会先解析*再执行sql
StringBuilder sql = new StringBuilder("select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE where 1=1");
List<String> paramList = new ArrayList<String>(); //在这里添加一个list作为缓冲,解决参数问题
if (command != null && !"".equals(command.trim())){
sql.append(" and COMMAND=?");
paramList.add(command);
}
if (description != null && !"".equals(description.trim())){
sql.append(" and DESCRIPTION like '%' ? '%' ");
paramList.add(description);
}
PreparedStatement statement = conn.prepareStatement(sql.toString());
for (int i=0;i<paramList.size();i++){
statement.setString(i+1, paramList.get(i));
}
//检索条件不固定的情况下,怎么处理?? ---- sql语句拼接,有条件就拼接,没有条件不拼接
ResultSet rs = statement.executeQuery();
// List<Message> messageList = new ArrayList<Message>();
//Message是一个bean,泛型....
while (rs.next()){
Message message = new Message();
messageList.add(message);
message.setId(rs.getString("ID"));
message.setCommand(rs.getString("COMMAND"));
message.setDescription(rs.getString("DESCRIPTION"));
message.setContent(rs.getString("CONTENT"));
}
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return messageList;
}
}
public List<Message> queryMessageList(String command, String description){
List<Message> messageList = new ArrayList<Message>();
try{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/micro_message", "root", "root"); //需要改一下
//String sql = "select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE";
//这里,直接写列名,不要用*号-----因为会先解析*再执行sql
StringBuilder sql = new StringBuilder("select ID, COMMAND, DESCRIPTION, CONTENT from MESSAGE where 1=1");
List<String> paramList = new ArrayList<String>(); //在这里添加一个list作为缓冲,解决参数问题
if (command != null && !"".equals(command.trim())){
sql.append(" and COMMAND=?");
paramList.add(command);
}
if (description != null && !"".equals(description.trim())){
sql.append(" and DESCRIPTION like '%' ? '%' ");
paramList.add(description);
}
PreparedStatement statement = conn.prepareStatement(sql.toString());
for (int i=0;i<paramList.size();i++){
statement.setString(i+1, paramList.get(i));
}
//检索条件不固定的情况下,怎么处理?? ---- sql语句拼接,有条件就拼接,没有条件不拼接
ResultSet rs = statement.executeQuery();
// List<Message> messageList = new ArrayList<Message>();
//Message是一个bean,泛型....
while (rs.next()){
Message message = new Message();
messageList.add(message);
message.setId(rs.getString("ID"));
message.setCommand(rs.getString("COMMAND"));
message.setDescription(rs.getString("DESCRIPTION"));
message.setContent(rs.getString("CONTENT"));
}
}catch (ClassNotFoundException e){
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return messageList;
}
}