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

来源:互联网 发布:怎么弄个java服务器 编辑:程序博客网 时间:2024/05/16 07:01

一:相关概念

  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