一、数据库
create table e_users
(
userid number(4) primary key,--用户编号
username varchar2(20) not null,--用户名
password varchar2(20) not null,--用户密码
realname varchar2(20),--真实姓名
sex varchar2(2),--性别
)
二、登录
package com.zking.ehome.utils;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class BaseDao {
protected Connection conn =null;
protected PreparedStatement ps = null;
protected ResultSet rs = null;
/**
* 方法功能:通用增删改方法
*/
public int executeUpdate(String sql,Object...x) {
int n = 0;
try {
// 获取数据库连接
conn = DBHelper.getConn();
// sql传入方法返回执行对象
ps = conn.prepareStatement(sql);
//新增的sql语句 有占位符
if(null!=x) {
//拿到可变参数中的2个值
for(int i = 0;i<x.length;i++) {
ps.setObject(i+1, x[i]);
}
}
n = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
DBHelper.myClose(conn, ps, null);
}
return n;
}
/**
* 方法功能:通用查询 查询所有 查询一个 模糊查询
*/
public ResultSet executeQuery(String sql,Object...x) {
try {
// 获取数据库连接
conn = DBHelper.getConn();
// sql传入方法返回执行对象
ps = conn.prepareStatement(sql);
//新增的sql语句 有占位符
if(null!=x) {
//拿到可变参数中的2个值
for(int i = 0;i<x.length;i++) {
ps.setObject(i+1, x[i]);
}
}
rs = ps.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}finally {
}
return rs;
}
}
三、注册
@Override
public int userResgister(Users users) {
// 1.定义所需的对象及变量
int userid = 0;// 定义一个变量保存最终的id
int n = 0;// 所影响的行数
// 链接数据库查询到最大的id 最后+1
Connection conn = null;
PreparedStatement ps = null;
ResultSet rs = null;
String sql = "select nvl(max(userid),0) from e_users";
// 2.赋值
try {
// 获取数据库连接
conn = DBHelper.getConn();
// 将定义的sql语句传入方法返回执行对象
ps = conn.prepareStatement(sql);
rs = ps.executeQuery();
// 判断
if (rs.next()) {
userid = rs.getInt(1) + 1;
}
// 进行注册了
// 新增的sql语句
sql = "insert into e_users(userid,username,password,realname,sex,address,autograph)values(?,?,?,?,?,?,?)";
ps = conn.prepareStatement(sql);
ps.setInt(1,userid);
ps.setString(2, users.getUsername());
ps.setString(3, users.getPassword());
ps.setString(4, users.getRealname());
ps.setString(5, users.getSex());
ps.setString(6, users.getAddress());
ps.setString(7, users.getAutograph());
// 4.返回所影响的行数
n = ps.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
} finally {
DBHelper.myClose(conn, ps, rs);
}
return n;
}