| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
jopen
10年前发布

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

数据库:

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