jdbc环境配置以及进行简单的增 删 改

一:相关概念

  1. 什么是JDBC
    JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
    从根本上说,JDBC是一种规范,它提供的接口,一套完整的,可移植的访问底层数据库的程序
  2. 数据库驱动
    我们安装好数据库之后,我们的应用程序也是不能直接使用数据库的,必须要通过相应的数据库驱动程序,通过驱动程序去和数据库打交道。其实也就是数据库厂商的JDBC接口实现,即对Connection等接口的实现类的jar文件。这里写图片描述

二:常用接口

这里写图片描述

具体每个接口中有什么常用的方法,这里就不过多的解释。可以通过查看JDK API进行查看和多多练习。也可以在这个博客里面学习(http://www.cnblogs.com/erbing/p/5805727.html

三:使用jdbc连接数据库

这里写图片描述

1. 连接数据库得到Connection就算成功

/*一:得到Connnection
         *  1.准备四大参数        
         *  2.加载驱动类
         *  3.得到Connection
         * */
        //准备四大参数
        String driveClassName = "com.mysql.jdbc.Driver";
        //jdbc协议的格式   jdbc:工商的名称:子协议(由工商来规定)
        //对mysql而言,他的自协议结构://主机:端口号/数据库名称
        String url = "jdbc:mysql://localhost:3306/student";
        //这是我们自己安装数据库时所设的账号密码
        String username = "admin";
        String password = "admin";
        //加载驱动类
        try {
            Class.forName(driveClassName);
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        //使用DriverManager以及剩下的三个参数,得到Connectioon
        try {
            Connection conn = DriverManager .getConnection(url,username,password);
            //System.out.println("数据库连接成功");
        } catch (SQLException e) {
            e.printStackTrace();
        }

对于第一次连接的用户来说,即便这样操作还是会有点问题。这里我后面再单独讲
2. 对数据库进行增 删 改

 /*对数据进行增删改
             *  1.通过Connection对象创建Statement
             *  2.调用他的 int executeUpdate(String sql):运行insert/update/delete操作,返回更新的行数
             * 
             * */
            //通过Connection得到Statement
            Statement stmt = conn.createStatement();
            //使用Statement发送sql语句
            //String sql = "insert into xinguan values ('002','王五','男')";
            //String sql = "delect from xinguan where id='2'";
            String sql = "update xinguan set id='003',ename='林志玲',sex='女' where ename='王五'";
            int r = stmt.executeUpdate(sql);
            System.out.println(r);

3.对数据进行查询

//对数据进行查询
            //1-调用Statement的ResultSet
            String sql = "select*from xinguan";
            ResultSet rs = stmt.executeQuery(sql);
            //2-解析ResultSet 把光标移到第一行,可以调用next()方法实现
            while(rs.next()){
                int id = rs.getInt("id");//通过列编号来获取该列的值
                String ename = rs.getString("ename");//获取列名是ename的字段值
                String sex = rs.getString("sex");//获取列名是sex的字段值

输出结果这里写图片描述

关闭资源

关闭资源采用的是倒关–数据库连接(Connection)非常耗资源,尽量晚创建,尽量早的释放

1. rs.close();
2. stmt.close();
3.con.close();

编译时可能遇到的问题

ava.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    atjava.NET.URLClassLoader$1.run(Unknown Source)

    atjava.net.URLClassLoader$1.run(Unknown Source)

    atjava.security.AccessController.doPrivileged(Native Method)

    atjava.Net.URLClassLoader.findClass(Unknown Source)

    atjava.lang.ClassLoader.loadClass(Unknown Source)

    atsun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

    atjava.lang.ClassLoader.loadClass(Unknown Source)

    atjava.lang.Class.forName0(Native Method)

     atjava.lang.Class.forName(Unknown Source)

这并不是说你的代码有什么问题,而是你没有导入mysql加载的驱动包.具体怎么下载和导入驱动包可以在这里进行查看(http://www.cnblogs.com/taoweiji/archive/2012/12/11/2812295.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值