当前位置:Gxlcms > 数据库问题 > JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理

JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理

时间:2021-07-01 10:21:17 帮助过:11人阅读

com.swift; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; public class DBUtil { //连接MySQL数据库工具 public static Connection getConn() { Connection conn=null; try { Class.forName("com.mysql.jdbc.Driver"); try { conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sw_database?user=root&password=root"); } catch (SQLException e) { e.printStackTrace(); } } catch (ClassNotFoundException e) { e.printStackTrace(); } return conn; } //关闭数据库连接、sql连接、结果集 public static void closeAll(Connection conn,PreparedStatement ps,ResultSet rs) { if(conn!=null) try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } if(ps!=null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); } } if(rs!=null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } }

接下来实现登录,已有帐号在数据库中检验存在与否。代码如下:

package com.swift;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class JDBC_Login {

    public static void main(String[] args) {
        User user=new User("swift","abc123");
        if(login(user)) {
            System.out.println("成功");
        }else {
            System.out.println("失败");
        }
        
    }

    public static boolean login(User user) {
        
        Connection conn=DBUtil.getConn();
        PreparedStatement ps=null;
        ResultSet rs=null;
        try {
            ps=conn.prepareStatement("select * from sw_user where username=? and password=?");
            ps.setString(1, user.getUsername());
            ps.setString(2, user.getPassword());
            rs=ps.executeQuery();
            if(rs.next()) {
                return true;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        DBUtil.closeAll(conn, ps, rs);
        return false;
    }
}

实现在数据库增加数据,数据库表sw_user中插入新数据,代码如下:

package com.swift;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBC_Add {

    public static void main(String[] args) {
        User user=new User("duoduo","abc123");
        if(add(user)) {
            System.out.println("帐号注册成功");
        }else {
            System.out.println("注册失败");
        }
    }

    private static boolean add(User user) {
        
        Connection conn=DBUtil.getConn();
        PreparedStatement ps=null;
        try {
            ps=conn.prepareStatement("insert into sw_user(username,password) values(?,?)");
            ps.setString(1, user.getUsername());
            ps.setString(2, user.getPassword());
            int count=ps.executeUpdate();
            if(count==1) {
                return true;
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        DBUtil.closeAll(conn, ps, null);
        return false;
    }
}

实现在数据库中删除数据,数据库表sw_user中删除已存在的数据,代码如下:

package com.swift;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBC_Delete {

    public static void main(String[] args) {
        User user=new User("duoduo","abc123");
        if(JDBC_Login.login(user)) {
            if(delete(user)) {
                System.out.println("帐号注销成功");
            }else {
                System.out.println("注销失败");
            }
        }else {
            System.out.println("账户不存在");
        }
    }

    private static boolean delete(User user) {
        
        Connection conn=DBUtil.getConn();
        PreparedStatement ps=null;
        try {
            ps=conn.prepareStatement("delete from sw_user where username=? and password=?");
            ps.setString(1, user.getUsername());
            ps.setString(2, user.getPassword());
            int count=ps.executeUpdate();
            if(count==1) {
                return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DBUtil.closeAll(conn, ps, null);
        return false;
    }
}

实现在数据库中修改数据,数据库表sw_user中更新已存在的数据,代码如下:

package com.swift;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class JDBC_Update {

    public static void main(String[] args) {
        User user=new User("swift","abc123");
        String setPassword="abc12345";
        if(JDBC_Login.login(user)) {
            if(update(user,setPassword)) {
                System.out.println("密码修改成功");
            }else {
                System.out.println("修改失败");
            }
        }else {
            System.out.println("账户不存在");
        }
            
    }

    private static boolean update(User user,String setPassword) {
        
        Connection conn=DBUtil.getConn();
        PreparedStatement ps=null;
        try {
            ps=conn.prepareStatement("update sw_user set password=? where username=?");
            ps.setString(1, setPassword);
            ps.setString(2, user.getUsername());
            int count=ps.executeUpdate();
            if(count==1) {
                return true;
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DBUtil.closeAll(conn, ps, null);
        return false;
    }
}

工具类的使用可以提高代码的复用性,提高代码阅读性便于修改。

 

JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理

标签:成功   util   imp   增删改查   auto   als   val   一个   ext   

人气教程排行