zoukankan      html  css  js  c++  java
  • JDBC中 mysql数据库的连接工具类 Java登录 及增删改查 整理 附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具

    先写一个工具类,有实现MySQL数据库连接的方法,和关闭数据库连接、关闭ResultSet  结果集、关闭PreparedStatement 的方法。代码如下:

    package 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;
        }
    }

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

    附带:Navicat Premium 11.0.12中文破解版.zip(下载)mysql数据库工具

     链接: https://pan.baidu.com/s/1jId5hHW 密码: aprj

    sw_database数据库中表sw_user字段的设置如图:

  • 相关阅读:
    ubuntu 12.04 安装phpUnit
    composer 安装 ubuntu 12.04
    初学 Phreeze 4
    curl模拟文件post提交
    Phreeze Criteria的应用,在两个表里面查找多个符合条件的数据
    ubuntu 12.04 安装vim
    初学Phreeze 5 excel 表格,自动生成文件
    初学Phreeze 6,reporter文件
    //让程序在后台运行,即使关闭终端 仍可运行
    phpopenid中创建多级目录的方法
  • 原文地址:https://www.cnblogs.com/qingyundian/p/7581742.html
Copyright © 2011-2022 走看看