JDBC基础知识

本文转载于http://www.jianshu.com/p/ffb81620a7b4

掌握数据库开发是java工程师的基本要求,而JDBC是数据库开发的基础,通过JDBC可以实现Java程序对后端数据库的访问。

虽然现在大多使用MyBatis,但明白JDBC的工作流程,对初学者来说还是非常必要的,学会之后能够更快速的上手MyBatis。下面我就介绍一下JDBC的基础知识。注意:学习JDBC需要有Java基础以及数据库基础。

总的来说,使用JDBC的流程大概分为:

1. 装载驱动程序
2. 建立与数据库的连接
3. 执行SQL语句
4. 获取执行结果
5. 清理资源

1.装载驱动程序

说到装载驱动程序,就不得不说JDBC中的Driver类、DriverManager类。Driver类是一个接口,定义了各个驱动程序都必须实现的功能,是驱动程序的抽象。而DriverManager类是Driver类的管理类。

想要装载驱动程序,我们就要用Class.forName(DriverName)向DriverManager注册驱动程序。DriverName就是响应数据库驱动的名称。推荐用maven管理驱动程序,免去到官网下载的麻烦。例如加载mysql驱动:

Class.forName(“com.mysql.jdbc.Driver");

2.建立与数据库的连接

想要建立与数据库的连接,就要通过DriverManager类中的getConnection()方法调用驱动程序。

getConnection()方法返回的是一个JDBC Connection对象。Connection对象其实代表的是Java应用程序对后端数据库的一条物理链接。基于这条链接,我们可以执行SQL语句。Connection对象常用的方法就是createStatement()方法,这个方法用来创建Statement对象。

调用getConnection()方法需要传入三个参数,分别是URL、UserName、PassWord。注意:使用getConnection()可能会抛出异常,所以这里要捕获异常。

例如:

Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/数据库名","root","root");

URL为相应数据库的地址,包含协议、子协议、子名称三部分,其中自名称又包括主机、端口、数据库名等。例如:“jdbc:mysql://127.0.0.1:3306/数据库名”。
UserName则是你部署相应数据库时设置的用户名,一般都是“root”。
PassWord就是你部署相应数据库时设置的密码。

3.执行SQL语句

要执行SQL语句,首先要用Connection连接创建Statement对象。Statement对象,说到底就是一个SQL容器,这个容器可以承载一些SQL语句。

然后调用executeQuery()方法或execute()方法执行SQL语句。其中,executeQuery()方法可执行查询操作,execute()方法更新、添加、删除等操作。执行后返回int值或ResultSet对象。ResultSet是数据库结果集的数据表。

例如:

Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select name from user");

4.获取执行结果

若返回的是ResultSet对象,则要用循环取出ResultSet对象中的数据。因为ResultSet对象具有指向其当前数据行的指针。最初,指针被置于第一行之前。next方法可以将指针移动到下一行;使用该方法是会true或false(若没有下一行则返回false),所以可以在while循环中使用它迭代结果集。(ResultSet对象的其他常用方法自行搜索其他资料,这里就不赘述了。)

例如:

while(rs.next())
{
    System.out.println(rs.getString("name"));
}

5.清理资源

在finally{ }方法中清理资源。
例如:

finally{
    try{
        if(rs != null)
            rs.close();

        if(stmt != null)
            stmt.close();

        if(conn != null)
            conn.close();
    }
   catch(SQLException){
      //ignore
   }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值