Java中的JDBC

作者: 颏傦铭心 | 来源:发表于2019-04-17 17:35 被阅读48次

    JDBC:Java DataBase Connectivity
    Java数据库连接,实际上jdbc是java中的一套和数据库交互的api(application program interface应用程序编程接口)
    1:为什么使用JDBC?
    因为Java程序员需要连接多种数据库,为了避免每一种数据库都学习一套新的api,Sun公司提出了一个JDBC的接口,各个数据库的厂商根据此接口写实现类(驱动),这样Java程序员只需要掌握JDBC接口的调用,即可访问任何数据库;
    2:如何使用JDBC连接Mysql数据库?
    1)创建Maven工程
    2)登陆maven.aliyun.com首页搜索Mysql找到5.1.6版本把坐标复制到pom.xml中
    3)创建Java类添加main方法通过下面代码连接数据库并执行SQL
    (以下是JDBC简单的执行流程)
    //1.注册驱动
    Class.forName("com.mysql.jdbc.Driver");
    //2.获取连接对象
    Connection conn = DriverManager.getConnection
    ("jdbc:mysql://localhost:3306/db3","root", "root");
    本次连接的是本地数据库db3 其中root 分别是用户名和密码
    //3.创建SQL执行对象
    Statement stat = conn.createStatement();
    //4.执行SQL
    String sql = "drop table if extists jdbc";
    stat.excute(sql);
    System.out.println("执行完成");
    //5.关闭资源:
    stat.close();
    conn.close();
    #执行SQL的方法:
    -execute();此方法可以执行任意的SQL,但是推荐执行DDL(数据定义语言create drop alter truncate)返回值为boolean值,返回值发表是否有结果集,
    (只有查询语句有结果集);
    -executeUpdate();增删改操作全部使用此方法,返回值为int,表示生效的行数;
    -executeQuery();此方法执行查询操作,返回ResultSet,通过while循环遍历;
    代码如下:
    //执行查询,得到的结果封装在了resultset中
    ResultSet rs = stat.executeQuery(sql);
    //遍历结果集
    while(rs.next()){
            int empno = rs.getInt("empno");
            String name = rs.getString("ename");
            double sal = rs.getDouble("sal");
            System.out.println(empno+name+sal);
    }
    从ResultSet中获取数据的两种方式:
    1:通过表字段的名称获取
    2:通过结果中字段的位置获取(以本次查询的字段顺序为准,并非表字段的顺序)
    以上代码可以实现JDBC连接数据库并执行Sql语句,但是每次更换数据库或更改连接信息时需要修改源代码,所以很不方便后期维护,我们可以进行优化,代码如下:
    (可以将数据库连接信息放入配置文件中,然后通过读取配置文件的方式获取信息,这样每次更改就不需要更改源代码,但是执行JDBC的流程都是一样的所以我们完全可以将这些重复的代码提取出来,变成一个工具类)

    需要导入的包 读取配置文件 注册驱动等方法实现

    至此,JDBC的工具类已经创建好了,这样我们就可以方便的使用JDBC了,上代码:

    以上使用了Junit

    相关文章

      网友评论

        本文标题:Java中的JDBC

        本文链接:https://www.haomeiwen.com/subject/gfqnwqtx.html