zoukankan      html  css  js  c++  java
  • MySQL_(Java)提取工具类JDBCUtils

      MySQL_(Java)使用JDBC向数据库发起查询请求  传送门

      MySQL_(Java)使用JDBC创建用户名和密码校验查询方法  传送门

      MySQL_(Java)使用preparestatement解决SQL注入的问题  传送门

      使用工具类JDBCUtils意义:在做增、删除、修改、查询都需要获取Connection连接,使用完毕之后我们都需要关闭连接,这些工作是不断的重复在做的事情,所以我们可以把这些工作定义成一个工具类的方法,减少我们重复代码的编写

      

      MySQL数据库中的数据,数据库名garysql,表名garytb

      

      通过JDBC对MySQL中的数据进行查询

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBC01 {
    
        public static void main(String[] args) throws SQLException  {
            selectAll();
        }
    
        public static void selectAll() throws SQLException {
            //注册驱动    使用驱动连接数据库
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                con = JDBCUtils.getConnection();
                
                //数据库的增删改查
                stmt = con.createStatement();
                //返回一个结果集
                rs =stmt.executeQuery("select * from garytb");
                
                while(rs.next()) {
                    //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));
                    System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));
                }
            
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                JDBCUtils.close(rs, stmt, con);
            }
        }
    
        public static boolean  selectByUernamePassword(String username,String password) throws SQLException {
            Connection con=null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                
                String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";
                con = DriverManager.getConnection(url,"root","123456");
                stmt =con.createStatement();
                String sql = "select * from garytb where username = '"+username+"' and password = '"+password+"'";
                //System.out.println(sql);
                rs = stmt.executeQuery(sql);
                
                if(rs.next()) {
                    return true;
                }else {
                    return false;
                }
                    
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                if(rs!=null)
                    rs.close();
                if(stmt!=null)
                    stmt.close();
                if(con!=null)
                    con.close();
            }
            
            return false;
        }
    
        public static boolean selectByUP2(String username,String password) throws SQLException{
            Connection con=null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                Class.forName("com.mysql.jdbc.Driver");
                
                String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";
                con = DriverManager.getConnection(url,"root","123456");
                
                String sql = "select * from garytb where username = ? and password = ?";
                PreparedStatement pstmt = con.prepareStatement(sql);
                //添加参数
                pstmt.setString(1, username);
                pstmt.setString(2, password);
                //进行查询
                rs = pstmt.executeQuery();
                    
                if(rs.next()) {
                    return true;
                }else {
                    return false;
                }
                    
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                if(rs!=null)
                    rs.close();
                if(stmt!=null)
                    stmt.close();
                if(con!=null)
                    con.close();
            }
            
            return false;
        }
    
        //pageNumber是页数,第几页,pageCount是每页显示多少个数据
        public static void selectUserByPage(int pageNumber,int pageCount) throws SQLException {
            //注册驱动    使用驱动连接数据库
                    Connection con = null;
                    PreparedStatement stmt = null;
                    ResultSet rs = null;
                    try {
                        Class.forName("com.mysql.jdbc.Driver");
                        
                        //String url ="jdbc:mysql://localhost:3306/garysql";
                        //指定编码查询数据库
                        String url ="jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";
                        String user = "root";
                        String password = "123456";
                        //建立和数据库的连接
                        con = DriverManager.getConnection(url,user,password);
                        
                        stmt = con.prepareStatement("select * from garytb limit ?,?");
                        stmt.setInt(1, (pageNumber-1)*pageCount );
                        stmt.setInt(2, pageCount);
                        
                        rs = stmt.executeQuery();
                        
                        while(rs.next()) {
                            //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));
                            System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));
                        }
                    
                    } catch (Exception e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }finally {
                        if(rs!=null)
                            rs.close();
                        if(stmt!=null)
                            stmt.close();
                        if(con!=null)
                            con.close();
                    }
        }
    }
    JDBC01.java
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    
    public class JDBCUtils {
        
        private static final String connectionURL = "jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";
        private static final String username = "root";
        private static final String password = "123456";
        
        //创建数据库的连接
        public static Connection getConnection() {
            try {
                Class.forName("com.mysql.jdbc.Driver");
                return   DriverManager.getConnection(connectionURL,username,password);
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            return null;
        }
        
        //关闭数据库的连接
        public static void close(ResultSet rs,Statement stmt,Connection con) throws SQLException {
            if(rs!=null)
                rs.close();
            if(stmt!=null)
                stmt.close();
            if(con!=null)
                con.close();
        }
    }
    JDBCUtils.java

       在JDBCUtils.java中实现构建对数据库的连接和关闭数据库操作

    private static final String connectionURL = "jdbc:mysql://localhost:3306/garysql?useUnicode=true&characterEncoding=UTF8&useSSL=false";
        private static final String username = "root";
        private static final String password = "123456";
        
        //创建数据库的连接
        public static Connection getConnection() {
            try {
                Class.forName("com.mysql.jdbc.Driver");
                return   DriverManager.getConnection(connectionURL,username,password);
            } catch (Exception e) {
                
                e.printStackTrace();
            }
            return null;
        }
        
        //关闭数据库的连接
        public static void close(ResultSet rs,Statement stmt,Connection con) throws SQLException {
            if(rs!=null)
                rs.close();
            if(stmt!=null)
                stmt.close();
            if(con!=null)
                con.close();
        }

      在JDBC01.java中需要对数据库中用户查询时直接调用JDBCUtils.java中方法即可

         //数据库的连接
        con = JDBCUtils.getConnection(); 
    
        //关闭数据库
        JDBCUtils.close(rs, stmt, con);               

      例如查询MySQL中所有用户的信息

    public static void selectAll() throws SQLException {
            //注册驱动    使用驱动连接数据库
            Connection con = null;
            Statement stmt = null;
            ResultSet rs = null;
            try {
                //数据库的连接
                con = JDBCUtils.getConnection();
                
                //数据库的增删改查
                stmt = con.createStatement();
                //返回一个结果集
                rs =stmt.executeQuery("select * from garytb");
                
                while(rs.next()) {
                    //System.out.println(rs.getString(1)+","+rs.getString(2)+","+rs.getString(3));
                    System.out.println(rs.getString("id")+","+rs.getString("username")+","+rs.getString("password"));
                }
            
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }finally {
                JDBCUtils.close(rs, stmt, con);
            }
        }
    (如需转载学习,请标明出处)
  • 相关阅读:
    python little things
    python unittest
    install Pycrypto on windows
    share directory in virtualbox
    django template设置
    echarts使用记录
    node下图片自动处理
    Mac OS X 访问 Windows 共享文件夹
    django 登录配置记录
    【转】让iframe在iOS设备手机浏览器上支持滚动
  • 原文地址:https://www.cnblogs.com/1138720556Gary/p/10585335.html
Copyright © 2011-2022 走看看