示例程序说明
虽然该示例太简单因而不实用,但它包含了用于数据库访问的所有 Java 程序中必须出现的元素。以下内容介绍了该示例程序中的关键元素。创建您自己的 UltraLite 应用程序时可参照这些步骤。
标有编号的步骤对应于源代码中标有编号的注释。
-
导入所需的程序包。
示例程序使用 JDBC 接口和类,因此必须导入该程序包。它还需要 UltraLite 运行时类和包含 SQL 语句字符串的生成接口。
-
定义类。
应用程序中使用的 SQL 语句作为接口存储在单独的文件中。类必须声明它实现该接口才能使用项目的这些 SQL 语句。该类名基于向数据库添加这些语句时所提供的语句名。
-
连接到数据库。
该连接是使用数据库类的实例建立的。数据库名必须与生成的 Java 类的名称(在本例中为 SampleDB)一致。属性对象
persist
的file
值表明该数据库应为持久数据库。 -
插入示例数据。
在生产应用程序中,通常不应插入示例数据,而应通过同步获得数据的初始副本。在开发的早期阶段,直接插入数据可以简化您的工作。
-
使用 prepareStatement() 方法创建一个 PreparedStatement 对象。
-
要执行 SQL 命令,必须创建 Statement 或 PreparedStatement 对象。Statement 对象用于执行不带任何参数的简单 SQL 命令,而 PreparedStatement 对象用于执行带参数的 SQL 命令。示例程序首先创建 PreparedStatement 对象以执行 INSERT 命令:
PreparedStatement pstmt1 = conn.prepareStatement( INSERT_PRODUCT );
prepareStatement 方法将 SQL 字符串作为参数;该 SQL 字符串来自生成的接口。
-
-
使用 Statement 对象执行 SQL 命令 SELECT。
-
使用 createStatement() 方法创建 Statement 对象。
与 PreparedStatement 对象不同,创建 Statement 对象时,不需要提供 SQL 语句。因此,单个 Statement 对象可用于执行多个 SQL 语句。
Statement stmt = conn.createStatement();
-
执行 SQL 查询。
使用 executeQuery() 方法执行 SELECT 查询。SELECT 语句返回一个 ResultSet 对象。
-
实现一个循环,按顺序获取查询结果。
ResultSet 对象维护一个游标,该游标最初指向第一行的前面。每次调用 next() 方法后,该游标的位置增加一行。当游标移动到带有数据的行时,next() 方法返回 True 值;当游标移动到最后一行后面时,next() 方法返回 False 值。
while(result.next()) { ... }
-
使用 getxxx() 方法检索查询结果。
将列编号作为参数提供给这些方法。该示例程序使用 getInt() 方法分别从第一列和第二列检索产品 ID 和价格,并使用 getString() 方法从第三列检索产品名称。
int id = result.getInt( 1 ); int price = result.getInt( 2 ); String name = result.getString( 3 );
-
-
结束程序。
-
使用 Connection.close() 方法关闭与数据库的连接:
conn.close();
-