mysql数据库的连接以及增删改查Java代码实现

2018-07-20    来源:open-open

容器云强势上线!快速搭建集群,上万Linux镜像随意使用

数据库:

    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();  
              
        }  
      
    }  

标签: Mysql 代码 数据库

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。

上一篇:python计算两个日期相差的天数

下一篇:python通过pil生成图片验证码