JDBC Database URL:
jdbc:subprotocol:other stuff
例如URL for SQL Server:
jdbc:microsoft:sqlserver://localhost:1433
用jdbc连接数据库的步骤:
1. 指定数据库Driver,其中又有三种方法
a. 在命令行指定:
java -Djdbc.drivers=com.microsoft.jdbc.sqlserver.SQLServerDriver MyProg
b. 在程序中通过System.setProperty指定
System.setProperty("jdbc.drivers", "com.microsoft.jdbc.sqlserver.SQLServerDriver");
c. 在程序中用Class.forName指定
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
2. 用DeviceManager打开数据库连接。这就需要给出数据库连接URL,用户名和密码
Connection conn = DriverManager.getConnection(url, username, password);
3. 取得Statement对象
Statement stat = conn.createStatement();
根据数据库类型的不同,可以有建立不同数量的Statement对象,例如SQL Server只允许一个同时存在一个Statement对象,这个可以通
过访问DatabaseMetaData类的getMaxStatements方法来取得
4. 通过Statement对象执行SQL语句,其中有两种方式:
stat.executeUpdate(command);
返回的是执行这个语句的记录数
ResultSet rs= stat.executeQuery();
返回结果集
设定SQL语句的参数:
String publisherQuery =
"SELECT Books.Price, Books.Title" +
" FROM Books, Publishers" +
" WHERE Books.Publisher_Id = Publishers.Publisher_Id AND Publishers.Name = ?";
PreparedStatement publisherQueryStat = conn.prepareStatement(publisherQuery);
publisherQueryStat.setString(1, publisher);
在前面返回的结果集是一个只能从前向后一次访问的集合,如果想要返回一个可以随意访问或是修改的结果集,就需要指定一些参数
Statement stat = conn.createStatement(type, concurrency);
PreparedStatement stat = conn.prepareStatement(command, type, concurrency);
Type表明是否可以前后翻动
Concurrency表明是否可以修改