当前位置: 首页 > 知识库问答 >
问题:

使用Java代码创建derby数据库和表

澹台建华
2023-03-14

我直接下载了C:\中的derby,并设置了DERBY_INSTALL和CLASSPATH变量:

C:\>set DERBY_INSTALL=C:\Apache\db-derby-10.9.1.0-bin
C:\>set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;.
C:\> cd %DERBY_INSTALL%\bin
C:\db-derby-10.9.1.0-bin\bin>java org.apache.derby.tools.ij
ij version 10.9
ij>

因此它显示ij>,并且我能够使用命令行SQL语句创建数据库。但我必须使用Java代码创建数据库及其表。所以我在下面的源代码,但我不知道在哪里粘贴它和如何运行它。当我将它粘贴到db-derby-10.9.1.0-bin>bin文件夹中,并尝试使用'java MainClass komaldb c:\'在该文件夹中运行它时,它显示无法找到或加载main class MainClass。我不确定我必须从哪里运行Java程序。

Java源代码:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;

public class MainDB {
static Connection conn;

public static void main(String[] args) throws Exception {
if (args.length != 2) {
  System.out.println("Usage: java JavaDBDemo <Name> <Address>");
  System.exit(1);
}
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String dbName = "AddressBookDB";
String connectionURL = "jdbc:derby:" + dbName + ";create=true";
String createString = "CREATE TABLE ADDRESSBOOKTbl (NAME VARCHAR 32) NOT NULL, 
ADDRESS VARCHAR(50) NOT NULL)";
Class.forName(driver);

conn = DriverManager.getConnection(connectionURL);

Statement stmt = conn.createStatement();
stmt.executeUpdate(createString);

PreparedStatement psInsert = conn
    .prepareStatement("insert into ADDRESSBOOKTbl values (?,?)");

psInsert.setString(1, args[0]);
psInsert.setString(2, args[1]);

psInsert.executeUpdate();

Statement stmt2 = conn.createStatement();
ResultSet rs = stmt2.executeQuery("select * from ADDRESSBOOKTbl");
System.out.println("Addressed present in your Address Book\n\n");
int num = 0;

while (rs.next()) {
  System.out.println(++num + ": Name: " + rs.getString(1) + "\n Address"
      + rs.getString(2));
}
rs.close();
}
}

共有1个答案

郑翰海
2023-03-14

看来你对Java才刚刚开始。

使用Derby假设您已经非常熟悉Java编程的基础知识。

我建议您下载并运行一些Java教程,如http://docs.oracle.com/javase/tutorial/

在您对编写和运行Java程序变得更加自如之后,就可以开始学习Derby了。我建议下载Derby教程:http://db.apache.org/Derby/papers/derbytut/index.html

 类似资料:
  • 如何从java代码中使用用户名和密码创建mysql数据库?然后创建所有的表? 我在谷歌上搜索,发现了这个代码 但就我而言,我需要: -从java设置用户名和密码 创建所有的表 确保: > MySQL连接排序:utf8_general_ci 我的数据库和表排序规则设置为:utf8\u general\u ci或utf8\u unicode\u ci 然后我必须在MySQL中执行:设置名称utf8 设

  • 我有一个JavaApplet,它显示来自Derby数据库的2D表格数据。我也在使用Netbean。我希望这个应用程序在网页上。我已经将html文档和所有. class文件上传到服务器上的适当目录中。剩下的是访问数据库。 我想使用Embedded Derby,以便我的应用程序包含数据库(我对这个事实的理解正确吗?)。然后我应该能够将html和jar/class文件上传到服务器,我的应用程序将被部署。

  • 我正在开发一个Rest API,用于从数据库中获取所有主题。我在Derby中使用Spring Boot,并使用JPA与derby进行交互。启动Spring Boot应用程序时,JPA无法在derby上创建表并抛出错误。 第一个类是实体类,第二个是回购类。

  • 问题内容: 将Apache Derby与Java结合使用(J2ME,但我认为这没有什么不同),是否有任何方法可以检查数据库是否已经存在并包含表? 问题答案: 除了MySQL之外,我什么都不知道,只有很少的解决方法,这与MySQL具有IF EXIST的功能不同。 您要做的是,尝试连接数据库,如果不可能的话。在成功建立连接之后,您可以执行简单的选择,例如SELECT count(*)FROM TABL

  • 我正试图在我的jFrame中添加一个jTable,我想将数据库表中的记录显示到jTable中。 我能够创建一个jTable(我将代码放在构造函数中),并在代码中手动输入要显示的值。奏效了。但是当我试图调用一个从数据库中检索数据的方法,并试图在JTable中显示这些数据时。它给我一个错误“NullPointerException”。 构造函数中创建表的代码: 方法从数据库中检索数据并将其添加到表中:

  • 创建数据库之后,如何执行DDL语句来创建表?