数据库:

    create table t1(id int primary key not null auto_increment,name varchar(32),password varchar(32));   
       
    insert into t1(name,password) values('admin','123');   
    insert into t1(name,password) values('zhangsan','123');   
    insert into t1(name,password) values('lisi','123');  

Java代码:


mySqlConnection.java代码:
    package com.dbdao.mysql;   
       
    import java.sql.Connection;   
    import java.sql.DriverManager;   
    import java.sql.PreparedStatement;   
    import java.sql.ResultSet;   
    import java.sql.SQLException;   
       
    import org.junit.Test;   
       
    public class mySqlConnection {   
           
        //创建数据库驱动名称   
        private static String Driver_class="com.mysql.jdbc.Driver";   
           
        //数据库链接地址   
        private String url="jdbc:mysql://localhost:3306/test";   
           
        //数据库用户名   
        private String user="root";   
           
        //数据库密码   
        private String password="11";   
           
        //数据库链接   
        private Connection con=null;   
           
        //准备声明sql语句   
        private PreparedStatement pstmt=null;   
           
        //结果集   
        private ResultSet rs=null;   
           
        //影响行数   
        private int i;   
           
        /*  
         * 创建驱动  
         * */   
        static{   
               
            try {   
                Class.forName(Driver_class);   
            } catch (ClassNotFoundException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }   
               
        }   
           
        /*  
         * 加载驱动  
         * */   
        @Test   
        public void getConnect() {   
            // TODO Auto-generated method stub   
            try {   
                con=DriverManager.getConnection(url, user, password);   
            } catch (SQLException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }   
               
            //判断数据库是否加载成功   
            if(con!=null){   
                   
                System.out.println("数据库加载成功!");   
                   
            }else{   
                   
                System.out.println("数据库加载失败!");   
                   
            }   
               
        }   
           
        /*  
         * 执行sql语句  
         * */   
        public void doSql(String sql,Object[] object) {   
            // TODO Auto-generated method stub   
               
            //判断sql语句是否存在   
            if(sql!=null){   
                   
                //加载驱动   
                getConnect();   
                   
                //判断object数组是否存在   
                if(object==null){   
                       
                    //如果不存在,创建一个,防止出现空指针异常   
                    object=new Object[0];   
                       
                }   
       
                try {   
                       
                    //声明一条准备的sql语句   
                    pstmt=con.prepareStatement(sql);   
                       
                    //为Object对象一一赋值   
                    for(int i=0;i<object.length;i++){   
                           
                        pstmt.setObject(i+1, object[i]);   
                           
                    }   
                       
                    //执行声明的sql语句   
                    pstmt.execute();   
                       
                } catch (SQLException e) {   
                    // TODO Auto-generated catch block   
                    e.printStackTrace();   
                }   
                   
            }else{   
                   
                System.out.println("sql语句并不存在!");   
                   
            }   
           
        }   
           
        /*  
         * 获取结果集  
         * */   
        public ResultSet getRS(){   
               
            try {   
                   
                //获取结果集方法   
                rs=pstmt.getResultSet();   
                   
            } catch (SQLException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }   
               
            //返回结果集   
            return rs;   
               
        }   
           
        /*  
         * 获取影响行数  
         * */   
        public int getUpdateCount() {   
            // TODO Auto-generated method stub   
               
            try {   
                   
                //获取影响行数方法   
                i=pstmt.getUpdateCount();   
                   
            } catch (SQLException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }   
               
            //返回影响行数   
            return i;   
               
        }   
           
        /*  
         * 关闭方法  
         * */   
        public void getClose() {   
            // TODO Auto-generated method stub   
               
            //关闭结果集   
            try {   
                   
                //结果集关闭方法   
                rs.close();   
                   
            } catch (SQLException e) {   
                // TODO Auto-generated catch block   
                e.printStackTrace();   
            }finally{   
                   
                //关闭声明的sql语句   
                try {   
                       
                    //关闭声明的sql语句方法   
                    pstmt.close();   
                       
                } catch (SQLException e) {   
                    // TODO Auto-generated catch block   
                    e.printStackTrace();   
                }finally{   
                       
                    //卸载驱动   
                    try {   
                           
                        //驱动卸载方法   
                        con.close();   
                           
                    } catch (SQLException e) {   
                        // TODO Auto-generated catch block   
                        e.printStackTrace();   
                    }   
                       
                }   
            }   
           
        }   
           
    }  

loginService.java代码:
    package com.service;   
       
    import java.sql.ResultSet;   
    import java.sql.SQLException;   
       
    import org.junit.Test;   
       
    import com.dbdao.mysql.mySqlConnection;   
       
    public class loginService {   
           
        //导入mySqlConnection类   
        mySqlConnection mysqlCon=new mySqlConnection();   
           
        //准备sql语句   
        private String sql;   
           
        //影响行数(数据变更后,影响行数都是大于0,等于0时没变更,所以说如果变更失败,那么影响行数必定为负)   
        private int i=-1;   
           
        //结果集   
        private ResultSet rs;   
           
        /*  
         * 插入数据  
         * */   
        @Test   
        public void insert() {   
            // TODO Auto-generated method stub   
               
            //创建sql语句   
            sql="insert into t1(name,password) values(?,?)";   
               
            //创建object数组   
            Object[] object=new Object[]{"admin","123456"};   
               
            //执行sql语句   
            mysqlCon.doSql(sql, object);   
               
            //获取影响行数   
            i=mysqlCon.getUpdateCount();   
               
            //判断是否插入成功   
            if(i!=-1){     
                   
                System.out.println("数据插入成功!");   
                   
            }else{   
                   
                System.out.println("数据插入失败!");   
               
            }   
               
            //关闭链接   
            mysqlCon.getClose();   
               
        }   
           
        /*  
         * 删除数据  
         * */   
        @Test   
        public void delete() {   
            // TODO Auto-generated method stub   
               
            //创建sql语句   
            sql="delete from t1 where id=?";   
               
            //创建object数组   
            Object[] object=new Object[]{3};   
               
            //执行sql语句   
            mysqlCon.doSql(sql, object);   
               
            //获取影响行数   
            i=mysqlCon.getUpdateCount();   
               
            //判断是否删除成功   
            if(i!=-1){   
                   
                System.out.println("数据删除成功!");   
                   
            }else{   
                   
                System.out.println("数据删除失败!");   
                   
            }   
               
            //关闭链接   
            mysqlCon.getClose();   
               
        }   
           
        /*  
         * 更新数据  
         * */   
        @Test   
        public void update() {   
            // TODO Auto-generated method stub   
               
            //创建sql语句   
            sql="update t1 set password=? where name=?";   
               
            //创建Object数组   
            Object[] object=new Object[]{"11","admin"};   
               
            //执行sql语句   
            mysqlCon.doSql(sql, object);   
               
            //获取影响行数   
            i=mysqlCon.getUpdateCount();   
               
            //判断数据是否更新成功   
            if(i!=-1){   
                   
                System.out.println("数据更新成功!");   
                   
            }else{   
                   
                System.out.println("数据更新失败!");   
                   
            }   
               
            //关闭链接   
            mysqlCon.getClose();   
               
        }   
           
        /*  
         * 遍历数据  
         * */   
        @Test   
        public void select() {   
            // TODO Auto-generated method stub   
               
            //创建sql语句   
            sql="select * from t1";   
               
            //执行sql语句   
            mysqlCon.doSql(sql, null);   
               
            //获取结果集   
            rs=mysqlCon.getRS();   
               
            //判断结果集是否为空   
            if(rs!=null){   
                   
                try {   
                       
                    //将光标移动到结果集末端,注意此处不能使用rs.afterLast();否则为空值。   
                    rs.last();   
                       
                    //获取结果集行数   
                    i=rs.getRow();   
                       
                    //判断结果集是否存在   
                    if(i>0){   
                           
                        //将光标移动到结果集前端   
                        rs.beforeFirst();   
                           
                        //循环遍历所有行数   
                        while(rs.next()){   
                               
                            //遍历每行元素的内容   
                            String name=rs.getString("name");   
                            String password=rs.getString("password");   
                               
                            //在控制台打印出结果   
                            System.out.println("name:"+name+"   password:"+password);   
                               
                        }   
                           
                           
                    }else{   
                           
                        System.out.println("结果集为空!");   
                           
                    }   
                       
                } catch (SQLException e) {   
                    // TODO Auto-generated catch block   
                    e.printStackTrace();   
                }   
                   
                   
            }else{   
                   
                System.out.println("结果集不存在!");   
                   
            }   
               
            //关闭链接   
            mysqlCon.getClose();   
               
        }   
       
    }  

发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

mysql查询今天、昨天、7天、近30天、本月数据详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。