以下是registration的impl类的具体代码!按我自己理解的写的,运行后出错!请各位大侠执教!!!!!
public class RDAOImpl implements RDAO {
public int flag;
String name;
public int save(Person person)throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myproject", "root", "libonan");
Statement st=conn.createStatement();
String sql="select name from person where id'"+person.getName()+"'";
System.out.println(sql);
//st.setString(1, person.getName()); //
ResultSet rs=st.executeQuery(sql);
if(rs.next()){ //如果结果集里有结果,证明该用户名已存在,返回错误信息
return flag=ERROR_USER_EXISTS;
}else{ //否则执行插入语句,创建新用户
//st.clearParameters();
st=conn.prepareStatement("insert into person values('"+person.getName()+"','"+person.getId()+"','"+person.getPassword()+"')");
//st.setString(1, person.getName());
//st.setString(2, person.getPassword());
name=person.getName();
flag=OK;
}
rs.close();
st.close();
conn.close();
return flag;
}
public String getUserid(){ return name; }
}
public class RDAOImpl implements RDAO {
public int flag;
String name;
public int save(Person person)throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/myproject", "root", "libonan");
Statement st=conn.createStatement();
String sql="select name from person where id'"+person.getName()+"'";
System.out.println(sql);
//st.setString(1, person.getName()); //
ResultSet rs=st.executeQuery(sql);
if(rs.next()){ //如果结果集里有结果,证明该用户名已存在,返回错误信息
return flag=ERROR_USER_EXISTS;
}else{ //否则执行插入语句,创建新用户
//st.clearParameters();
st=conn.prepareStatement("insert into person values('"+person.getName()+"','"+person.getId()+"','"+person.getPassword()+"')");
//st.setString(1, person.getName());
//st.setString(2, person.getPassword());
name=person.getName();
flag=OK;
}
rs.close();
st.close();
conn.close();
return flag;
}
public String getUserid(){ return name; }
}
id和'"+person.getName()+"'中间不用符号?
** BEGIN NESTED EXCEPTION ** java.net.ConnectException
MESSAGE: Connection refused: connectSTACKTRACE:java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2744)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.shuye100.impl.RDAOImpl.save(RDAOImpl.java:17)
at org.shuye100.struts.action.RegistAction.execute(RegistAction.java:47)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
** END NESTED EXCEPTION **Last packet sent to the server was 0 ms ago.
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2820)
at com.mysql.jdbc.Connection.<init>(Connection.java:1553)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.shuye100.impl.RDAOImpl.save(RDAOImpl.java:17)
at org.shuye100.struts.action.RegistAction.execute(RegistAction.java:47)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
public interface RDAO {
public static final int OK = 0;
public static final int ERROR_USER_EXISTS = 1;
public static final int ERROR_UNKNOWN = 2; public int save(Person person)throws Exception; public String getUserid();
}
你那个where条件,字段和值之间没有操作符,怎么也得有个等号吧