应用主线在于做出一个用户的注册和登陆界面,当然是要和后端的数据库连接的,注册时往数据库中写入用户数据,登陆时通过读出数据库中用户信息进行对比,判断该用户是否为合法用户
首先通过在数据库中已经建立的表的结构,将用户数据抽象为一个类,命名为Tuser
package tools;
public class Tuser {
int userid;
String username;
String password;
public int getUserid() {
return userid;
}
public void setUserid(int userid) {
this.userid = userid;
}
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;
}
}
在其他的类中通过该类的相关属性的get/set方法来设置该用户类实例化之后的属性值
以下为通过创建以上定义的用户类向数据库中插入新用户数据的类TuserDAO,该类通过调用上一课中创建的连接数据库的工具类DBconn以及实例化上述用户类Tuser,来实现先连接数据库,再向其中插入实例化Tuser类之后的用户数据
package tools;
//DAO为database access object的缩写
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import tools.DBconn;
public class TuserDAO {
//Tuser对应于test数据库中的tuser表
Connection con = null;
//创建一个Connection对象,用于获取连接对象
PreparedStatement res = null;
//创建一个PreparedStatement对象,用于向DB中插入sql语句
public boolean addUser(Tuser user){
boolean flag = false;
//设置一个标志位,用于指示addUser方法是否执行成功,即是否成功插入用户数据
DBconn dbconnection = new DBconn();
this.con = dbconnection.DBconn();
//连接DB
String sql = "insert into tuser values (default,?,?) ";
//sql语句,缺省位置1与2上的属性值
try {
this.res = con.prepareStatement(sql);
//执行sql语句
res.setString(1, user.getUsername());
res.setString(2, user.getPassword());
//使用setString()向sql语句中插入缺省的属性值
res.execute();
//执行该sql语句
flag = true;
//执行成功就将标志位设置为true
} catch (SQLException e) {
e.printStackTrace();
}
return flag;
}
public static void main(String[] args) {
Tuser user = new Tuser();
//建一个user对象
user.setUsername("JIA");
user.setPassword("123456789");
//为该user对象赋属性值
TuserDAO userdao = new TuserDAO();
//建一个TuserDAO对象,用于掉用其addUser()向DB中插入新的用户属性
userdao.addUser(user);
//将user对象传入addUser()中,使其按照设置的user对象的属性向DB中插入属性值
}
}
通过执行上述代码,可以发现数据库test中的Tuser表多出了调用Tuser类的set方法所传入的属性值对应的字段