JDBC Review 1

来源:互联网 发布:我去2000年 知乎 编辑:程序博客网 时间:2024/05/21 02:20

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表明是否可以修改

原创粉丝点击