JDBC
JDBC (Java Data Base Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API。
看到Java数据库连接,只要是从vb及.NET学过来的,肯定会想到ODBC(开放式数据库连接),JDBC和ODBC都是用来连接数据库的启动程序,都用于应用程序和数据库的交互。
结构模型
JDBC
根据Java的发展,最初时没有Java语言的数据库应用程序,编程人员是不得不用ODBC(C语言),Java的特点相比大家都知道,跨平台,面向对象,然而ODBC对这些是在的不给力,以Java语言为接口的数据库应用程序显得尤为重要,JDBC应时而出。
通过JDBC,可以方便的将SQL语句传送给任何一种数据库,并且跨平台的实现。
连接数据库的步骤:
1、注册驱动 (只做一次)
准确地说JDBC是一套协议,也就是由Sun定义一组接口,由数据库厂商来实现(以驱动程序形式提供),并规定了JAVA开发人员访问数据库所使用的方法的调用规范。
由此可见使用JDBC是首先要注册驱动。
2、建立连接(Connection)
Connection连接是通过DriverManager的静态方法getConnection()来得到的,这个方法的实质是把参数传到实际的驱动中的connect()方法中来获得数据库连接的。
3、创建执行SQL的语句(Statement)
向数据库发送要执行的SQL语句
4、执行语句
使用execute、executeQuery和executeUpdate方法执行update和insert、delete等sql语句
5、处理执行结果(ResultSet)
ResultSet对象,是通过执行语句生成的数据库结果集。
6、释放资源
关闭Statement,关闭Connection,这个大家都明白。
这个过程感觉很熟悉,就像ADO.NET。再来看代码实现:
<span style="font-size:18px;"> Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //加载数据库引擎,返回给定字符串名的类 String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test"; //test为你的数据库的名称 String user="用户名"; String password="密码"; Connection conn=DriverManager.getConnection(url,user,password); //连接数据库对象 Statement stmt=conn.createStatement(); //创建SQL命令对象 String query=""; //创建表SQL语句 stmt.executeUpdate(query);//执行SQL命令对象 String a="INSERT/DELETE.... INTO/FROM “表名” VALUES(....,...)"; .... .... .... stmt.executeUpdate(a);//执行SQL命令对象 //读取数据 ResultSet rs=stmt.executeQuery("SELECT * FROM “表名”"); //循环输出每一条记录 rs最初指向第一条记录的前面 while(rs.next){ } //最后关闭连接 stmt.close(); con.close(); </span>
看完代码感觉更熟悉,除了注册驱动在ADO.NET中没有,建立连接,创建SQL,处理结果,关闭连接,其实都一样。
小结
JDBC,Sun定义了接口,数据库厂商提供了驱动,给了开发人员一个调用规范,只管去实现就成。对于开发人员,JDBC的使用简单,也迎合了JAVA的特点。