Judge.java:
package com.goodhope.regist;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Date;
public class Judge {
Statement stmt;
ResultSet rs;
public void init() {
try {
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql://localhost:5432/postgres";
Connection con = DriverManager.getConnection(url, "postgres",
"pair36");
stmt = con.createStatement();
} catch (Exception e) {
e.printStackTrace();
}
}
public boolean IfExit(String username) {
Boolean a = false;
init();
String sql = "select name from cas where name='" + username + "'";
try {
rs = stmt.executeQuery(sql);
} catch (SQLException e) {
e.printStackTrace();
}
try {
a = rs.next();
} catch (SQLException e) {
e.printStackTrace();
}
return a;
}
public void InsetIntoTable(String name, String pwd, Date birthday) {
init();
String sql = "insert into cas (name,password,birthday) values ('"
+ name + "','" + pwd + "',to_date('" + birthday
+ "','yyyy-mm-dd'))";
try {
stmt.execute(sql);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
Regist.java
package com.goodhope.regist;
import java.sql.Date;
import com.opensymphony.xwork2.ActionSupport;
public class Regist extends ActionSupport {
private static final long serialVersionUID = -5254042367980236169L;
private String username;
private String password;
private Date birthday;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public Date getBirthday() {
return birthday;
}
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
public void validate() {
if (getUsername().length() < 4 || getUsername().length() > 32)
addFieldError("username", "用户名长度在4-32之间");//validate()这里有报错的话,页面会自//动返回input 视图(validate()数据校验方法,在执行execute()方法之前运行,但不在这个方法里面报的//addFieldError错误会根据实际情况跳转到不同的视图)
}
public String execute() {
Judge j = new Judge();
if (j.IfExit(getUsername())) {
addFieldError("username", "用户名已经存在");
return "error";
} else {
j.InsetIntoTable(getUsername(), getPassword(), getBirthday());
}
return "success";
}
public String execute() {
Judge j = new Judge();
if (j.IfExit(getUsername()))
return "input";
else {
j.InsetIntoTable(getUsername(), getPassword(), getBirthday());
}
return "success";
}
}
注意这里红色的部分,要区别java.sql.date 和 java.util.date
[1] [2] [3] 下一页