Java笔记--数据库连接

Youhavetobelieveinyourself.Thatisthesecretofsuccess.

人必须相信自己,那是你成功的秘诀。                                                                                                                                                                                                                             --卓别林

 

        如果没有虚拟机,没有mysql请查阅资料,自行完成。

        我们要想操作mysql数据库,jdk本身是无法操作的,因为java并不知道将来开发者需要使用java连接什么样的数据库,所以jdk本身只提供一系列接口
        要想使用java链接并操作mysql的话,需要找到mysql团队开发好的驱动包,包中具有实现了jdk接口的类的class文件
        需要找到这样一份驱动包,放在我们的项目中,这样我们就可以使用java语言操作mysql了。

JDBC编程6步:
    1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
    2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
    3.获取数据库操作对象(专门执行sql语句的对象)
    4.执行SQL语句(DQL,DML…)
    5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
    6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)

package .day18;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

/*
 我们要想操作mysql数据库,jdk本身是无法操作的,因为java并不知道将来开发者需要使用java连接什么样的数据库,所以jdk本身只提供一系列接口
    要想使用java链接并操作mysql的话,需要找到mysql团队开发好的驱动包,包中具有实现了jdk接口的类的class文件
    需要找到这样一份驱动包,放在我们的项目中,这样我们就可以使用java语言操作mysql了。

JDBC编程6步:
    1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
    2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
    3.获取数据库操作对象(专门执行sql语句的对象)
    4.执行SQL语句(DQL,DML…)
    5.处理查询结果集 (只有当第四步执行的是select语句的时候,才有本步)
    6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
 */
public class JDBCDemo1 {
    public static void main(String[] args) throws Exception{
        //1.注册驱动(告诉Java程序,即将连接的是哪个品牌的数据库)
        Class.forName("com.mysql.jdbc.Driver");

        //2.获取连接(表示JVM的进程和数据库进程之间的通道打开了,这属于进程之间的通信,使用完后记得关闭通道)。
        /**
         * url: 超链接,指定mysql服务器的地址
         *      jdbc:mysql://192.168.177.101:3306/bigdata31
         *  user: root
         *  password: 123456
         *
         *
        * */
        Connection conn = DriverManager.getConnection("jdbc:mysql://192.168.177.101:3306/bigdata31?useUnicode=true&characterEncoding=utf-8&useSSL=false", "root", "123456");
        //?useUnicode=true&characterEncoding=utf-8&useSSL=false
        //使用自定义的编码 & 自定的编码是什么(如GBK、utf-8等等) & 可以使连接不产生警告

        //3.获取数据库操作对象(专门执行sql语句的对象)
        Statement state = conn.createStatement();


        //4.执行SQL语句(DQL,DML…)
        //executeQuery: 查询语句
        //executeUpdate: 增删改语句
        /*
            添加操作
        */
//        int i = state.executeUpdate("insert into student values(1003,'张','中国')");//返回值是受影响的行数
//        if(i==1){
//            System.out.println("成功");
//        }else{
//            System.out.println("失败");
//        }

        /*
            删除操作
        */
//        int i = state.executeUpdate("delete from admin where id=1001");
//        if(i==1){
//            System.out.println("成功");
//        }else{
//            System.out.println("失败");
//        }
//

         /*
            修改操作
        */
//        int i = state.executeUpdate("update admin set username='张三' where id=1002");
//        if(i==1){
//            System.out.println("成功");
//        }else{
//            System.out.println("失败");
//        }

        /*
        executeQuery
        */
//        String sql = "SELECT\n" +
//                "\tt1.empno AS eno,\n" +
//                "\tt1.ename AS ename,\n" +
//                "\tt1.hiredate AS edate,\n" +
//                "\tt2.empno AS lno,\n" +
//                "\tt2.ename AS lname,\n" +
//                "\tt2.hiredate AS ldate \n" +
//                "FROM\n" +
//                "\temp t1\n" +
//                "\tJOIN emp t2 ON ( t1.mgr = t2.empno ) \n" +
//                "WHERE\n" +
//                "\tt1.hiredate < t2.hiredate;";
//
//        ResultSet resultSet = state.executeQuery(sql);
//        //next()判断表中是否有多余的条数数据
//        while(resultSet.next()){
//            //取出每一条数据中的每一列
//            //根据列名写出
//            int eno = resultSet.getInt("eno");
//            String ename = resultSet.getString("ename");
//            String edate = resultSet.getString("edate");
//            int lno = resultSet.getInt("lno");
//            String lname = resultSet.getString("lname");
//            String ldate = resultSet.getString("ldate");
//            System.out.println(eno +" "+ ename +" "+ edate +" "+ lno +" "+ lname +" "+ ldate);
//        }
        //6.释放资源(使用完资源后一定要关闭资源,Java和数据库之间属于进程间的通信,开启之后一定要记得关闭)
        state.close();
        conn.close();
    }
}
  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值