JDBC
:标准数据库访问接口,由一组Java语言编写的类和接口组成。
JDBC驱动:收到JDBC请求后,将其转换成适合数据库系统的方法调用的程序。
常用的数据库驱动程序
1、JDBC-ODBC桥驱动程序。使用该驱动程序连接数据库,不需要安装驱动程序,Java API中已经包含了该驱动程序。
2、转为某种数据库而编写的驱动程序。必须到相应的网站下载驱动(jar包),使用时,直接复制到lib目录中即可。
传统的数据库连接方法
1、加载驱动程序:最常用的方法是使用Class类的forName()静态方法
public static Class<?> forName(String className) throws ClassNotFoundException 参数className为完整的驱动程序类的名称
(1)、Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
这里sun.jdbc.odbc.JdbcOdbcDriver是Microsoft SQL Server的驱动程序类名
2、建立连接对象
(1)、DriverManager类:JDBC的管理层,作用于应用程序和驱动程序之间。跟踪可用的驱动程序,并在数据库和驱动程序之间建立连接。
public static Connection getConnection(String dburl)
public static Connection getConnection(String dburl,String user,String password)
这里参数dburl表示JDBC URL,user表示数据库用户名,password表示口令。调用该方法,DriverManager类试图从注册的驱动程序中选择一个合适的驱动程序,然后建立到给定的JDBC URL的连接。如果不能抛出SQLException异常。
(2)、JDBC URL:与一般的Url不用,用来标识数据源,通过驱动程序可以用它建立连接。
语法:jdbc:<subprotocol>:<subname>
其中jdbc表示协议,JDBC URL的协议总是jdbc。subprotocol表示子协议,表示驱动程序或数据库连接机制的名称,如果是使用JDBC-ODBC桥驱动程序访问数据库,子协议就是odbc,如果使用专用的驱动程序,通常为数据库厂商名,如:oracle。subname表示子名称,表示数据库标识符,随着数据库驱动程序的不同而不同。
常用数据库的JDBC链接代码
数据库 连接代码
Oracle Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@dbServerIP:1521:ORCL",user,password);
Oracle XE Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@dbServerIP:1521:XE",user,password);
MySQL Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://dbServerIP:3306/dbName? user=userName&password=password);
PostgreSQL Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql://dbServerIP/dbName",user,password);
DB2 Class.forName("com.ibm.db2.jdbc.net.DB2Driver");
Connection conn = DriverManager.getConnection("jdbc:db2://dbServerIP:6789/dbName",user,password);
Sybase Class.forName("com.sybase.jdbc2.SybDriver");
Connection conn = DriverManager.getConnection("jdbc:sybase.Tds:dbServerIP:2638",user,password);
DOBC Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:DNSName",user,password);
SQL Server Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://dbServerIP:1433;database=dbName ",user,password);
3、创建语句对象
通过Connection对象可以创建语句对象。
(1)、createStatement()方法创建简单的Statement对象。
(2)、prepareStatement()方法创建PreparedStatement对象。
(3)、prepareCall()方法创建CallableStatement对象。
如:Statement stmt = coon.createStatement();
4、获得SQL语句的执行结果
执行Sql语句使用Statement对象的方法。如:
String sql = "select * from User";
ResultSet rst = stmt.executeQuery(sql);
while(rst.next()){
out.print(tst.getString(1)+"\t");
}
对于DDL语句如create,alter,drop和DML语句如insert,update,delete等需使用语句对象的executeUpdate(String sql)方法,该方法返回值为整数,表示被影响的行数。查询语句用executeQuery(String sql)方法,返回类型为ResultSet。
5、关闭建立的对象
在Connection接口、Statement接口和ResultSet接口中都定义了close()方法。当这些
对象使用完毕后应使用close0方法关闭建立的对象,关闭顺序应该与建立对象相反的顺序关闭。
出处:http://blog.csdn.net/cl05300629/article/details/9986801 作者:伫望碧落