完成后的代码结构
一.使用JDBC连接数据库
七个步骤:
1.获取驱动
2.创建连接
3.编写sql
4.获取prepareStatement
5.执行sql语句,并返回结果
6.处理结果集
7.关闭资源
public class DBIutil {
private static String Driver="com.mysql.jdbc.Driver";
private static String url="jdbc:mysql://localhost:3306/test?useSSL=true&characterEncoding=utf-8";
private static String user="root";
private static String password="123456";
static {
try {
Class.forName(Driver);
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static Connection getConn() throws Exception{
Connection conn=null;
conn = DriverManager.getConnection(url,user,password);
return conn;
}
public static void closeConn(ResultSet rs,PreparedStatement state,Connection conn)throws Exception{
if (rs!=null){
rs.close();
}
if(state!=null){
state.close();
}
if(conn!=null)
{
conn.close();
}
}
}
二.设计User
简单的id,password
public class User {
private int id;
private String passward;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getPassward() {
return passward;
}
public void setPassward(String passward) {
this.passward = passward;
}
public User(int id, String passward) {
this.id = id;
this.passward = passward;
}
三.设计主页面
public class TUser {
public static void main(String[] args) {
while (true) {
UserDao userDao=new UserDao();
Scanner sc = new Scanner(System.in);
System.out.println("欢迎输入本系统!");
System.out.println("请输入账号:");
int student= sc.nextInt();
System.out.println("请输入密码:");
String password = sc.next();
boolean logstate= userDao.logIn(student,password);
if (logstate) {
System.out.println("成功登录");
while(true) {
System.out.println("1.增加:");
System.out.println("2.删除");
System.out.println("3.查询");
System.out.println("4.修改");
int check=sc.nextInt();
switch (check){
case 1:Add();break;
case 2:Delete();break;
case 3:Search();break;
case 4:Change();break;
default:
continue;
}
}
}
}
}
private static void Change() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号:(数字)");
int student= sc.nextInt();
System.out.println("请输入密码:");
String password = sc.next();
boolean isChange=UserDao.changeUser(student,password);
if(!isChange){
System.out.println("更改用户密码"+student+"成功!");
}
else
System.out.println("更改用户密码"+student+"失败!");
}
private static void Search() {
List<User> users=UserDao.findAll();
System.out.println(users);
}
private static void Delete() {
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号:(数字)");
int student= sc.nextInt();
boolean isDelete=UserDao.deleteUser(student);
if(!isDelete){
System.out.println("删除用户"+student+"成功!");
}
else
System.out.println("删除用户"+student+"失败!");
}
private static void Add(){
Scanner sc = new Scanner(System.in);
System.out.println("请输入账号:(数字)");
int student= sc.nextInt();
System.out.println("请输入密码:");
String password = sc.next();
boolean isUpdate=UserDao.addUser(student,password);
if(!isUpdate){
System.out.println("增加用户"+student+"成功!");
}
else
System.out.println("增加用户"+student+"失败!");
}
}
三.增删查改的具体实现
public static List<User> findAll(){
//获取对象
List<User> users=new ArrayList<>();
try {
conn=DBIutil.getConn();
state=conn.prepareStatement("select * from student");
rs=state.executeQuery();
while (rs.next()){
User user=new User();
user.setId(rs.getInt(1));
user.setPassward(rs.getString(2));
users.add(user);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
DBIutil.closeConn(rs,state,conn);
} catch (Exception e) {
e.printStackTrace();
}
}
return users;
}
public static boolean addUser(int student,String password){
boolean s=false;
try {
conn=DBIutil.getConn();
state=conn.prepareStatement("insert into student (s_id,s_pwd) values ( '"+student+"','"+password+"')");
s=state.execute();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
DBIutil.closeConn(rs,state,conn);
} catch (Exception e) {
e.printStackTrace();
}
}
return s;
}
public static boolean logIn(int id,String password){
try {
conn=DBIutil.getConn();
state=conn.prepareStatement("SELECT * FROM student WHERE s_id= '"+id +"' AND "+"s_pwd='"+password+"'");
rs=state.executeQuery();
while (rs.next()){return true;}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
DBIutil.closeConn(rs,state,conn);
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public static boolean deleteUser(int student){
try {
conn=DBIutil.getConn();
state=conn.prepareStatement("delete from student where s_id='"+student+"'");
boolean s=state.execute();
return s;
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
DBIutil.closeConn(rs,state,conn);
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}
public static boolean changeUser(int student,String password){
try {
conn=DBIutil.getConn();
state=conn.prepareStatement("update student set s_pwd= '"+password+"' where s_id='"+student+"'");
boolean s=state.execute();
return s;
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
DBIutil.closeConn(rs,state,conn);
} catch (Exception e) {
e.printStackTrace();
}
}
return false;
}