问题应该出在在dao层,断点打过setObject也没异常,是怎么回事?
public int addNews(News n) {
int count = -1;
String sql = "insert into news values(@,?,?,?,?)";
Connection conn = null;
PreparedStatement pstmt = null;
conn = DBUtil.getConn();
try {
pstmt = conn.prepareStatement(sql);
pstmt.setObject(1, n.getTitle());
pstmt.setObject(2, n.getContent());
pstmt.setObject(3, n.getDate());
pstmt.setObject(3, n.getType());
count = pstmt.executeUpdate();
} catch (Exception e) {
// TODO: handle exception
}finally{
DBUtil.closeAll(conn, pstmt, null);
}
return count;
}
dbutil在其他serlvet中连接正常
private static String driver = "com.mysql.jdbc.Driver";
private static String url = "jdbc:mysql://localhost:3306/on?useUnicode=true&characterEncoding=utf-8&useAffectRows=true";
private static String user = "root";
private static String password = "123456";
前端的值也能拿过来
String title = request.getParameter("title");
String content =request.getParameter("content");
String date =request.getParameter("date");
String type =request.getParameter("type");
News n=new News(title,content,date,type);
System.out.print(n.getTitle());
System.out.print(n.getContent());
System.out.print(n.getDate());
System.out.print(n.getType());
int addNews = NewsService.addNews(n);
System.out.println(addNews);
request.getRequestDispatcher("index").forward(request, response);
}