我是java新手,我使用getter和setter,作为用户的真实。 - 如何在 getter 和 setter 中添加查询? - 如何使用 ResultSet、Statement 的 getter 和 setter?
请原谅我的英语,非常糟糕。 谢谢您的回复
我的类(class)连接
public class con {
String driver = "com.mysql.jdbc.Driver";
String url ="jdbc:mysql://localhost:3306/tienda";
String user = "root";
String pw = "";
Connection conn = null;
public ResultSet iList(String iSql){
try{
Class.forName(driver).newInstance();
Connection oCnn = DriverManager.getConnection(url,user,pw);
PreparedStatement oPst = oCnn.prepareStatement(iSql);
ResultSet oRst = oPst.executeQuery();
return oRst;
}catch(Exception e){
return null;
}
}
public String Exen(String iSql){
try{
Class.forName(driver).newInstance();
Connection oCnn = DriverManager.getConnection(url, user, pw);
PreparedStatement oPst = oCnn.prepareStatement(iSql);
int i= oPst.executeUpdate();
return null;
}catch(Exception e){
return "error "+e.getMessage();
}
}
}
我的用户 getter 和 setter
public class usuario {
conexion cn = new con();
private String id;
private String name;
private String lastn;
private String dir;
private String iPass;
public String Eliminau(){
String cad ="delete from tblusuario where idusuario='" + this.getId() + "'";
return cn.Ejecutar(cad);
}
public String Login(){
String cad = "SELECT * FROM tblusuario WHERE name '" + this.getname() + "' AND pass = '"+
this.getiPass() + "'";
return cn.Ejecutar(cad);
}
public String agregar(){
String cad = "INSERT INTO tblusuario VALUES('" +
this.getId() + "','" + this.getiPass() + "','" + this.getname() + "','" +
this.getlastn() + "','" + this.getDir() +"')";
return cn.Ejecutar(cad);
}
public String getId() { return id;}
public void setId(String id) {this.id = id;}
public String getname() { return name;}
public void setname(String name) {this.name = name;}
public String getlastn() {return lastn;}
public void setlastn(String lastn) {this.lastn = lastn;}
public String getDir() {return dir;}
public void setDir(String dir) {this.dir = dir; }
public String getiPass() { return iPass;}
public void setiPass(String iPass) {
String cript;
cript = DigestUtils.md5Hex(iPass);
this.iPass = cript;
}
}
最佳答案
首先,你的整个代码的组成有点糟糕。根本不返回 ResultSet
或 Statement
。最好的主意是使用 DAO design pattern这至少可以确保代码干净。
此外,在该示例中,还展示了如何使用 PreparedStatement
来防止 SQL 注入(inject)漏洞。而且你的代码很容易受到攻击。
这是mkyongs还有关于 JDBC 的教程。
这里是my GitHub project about JDBC也。专为像您这样的情况而设计。下载并测试它。
关于Java - Mysql Getter/Setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157204/