建设银行手机网站首页,单页营销网站后台,淘客返利网站建设,商城网站设计实训总结java嵌入式dbJava DB是基于Java编程语言和SQL的关系数据库管理系统。 这是Apache软件基金会的开源Derby项目的Oracle版本。 Java SE 7 SDK中包含Java DB。 Java DB有两个部署选项#xff1a; Embedded和Network Server 。 这篇文章是关于嵌入式部署或模式的。 1.嵌入式 在嵌… java嵌入式db Java DB是基于Java编程语言和SQL的关系数据库管理系统。 这是Apache软件基金会的开源Derby项目的Oracle版本。 Java SE 7 SDK中包含Java DB。 Java DB有两个部署选项 Embedded和Network Server 。 这篇文章是关于嵌入式部署或模式的。 1.嵌入式 在嵌入式模式下 该数据库只能从一个应用程序访问。 应用程序和数据库之间没有网络连接。 应用程序和数据库在同一JVMJava虚拟机中运行。 使用JDBCJava数据库连接从Java应用程序访问数据库。 通常数据库由访问数据库的应用程序启动和停止。 并且不需要数据库管理。 启动Java DB 从应用程序启动Java DB。 首先加载数据库JDBC驱动程序。 接下来使用连接URL连接到数据库。 该驱动程序包含在Java DB中 org.apache.derby.jdbc.EmbeddedDriver 连接URL格式为 jdbcderbydatabaseName; URLAttributes; 一个示例连接URL是jdbcderbySampleDB; create true; 其中数据库名称为SampleDB “ create true”为属性名称/值对。 以下是使用JDBC启动数据库的示例Java方法 /** The method creates a Connection object. Loads the embedded driver,* starts and connects to the database using the connection URL.*/
public static Connection createDatabaseConnection()throws SQLException, ClassNotFoundException {String driver org.apache.derby.jdbc.EmbeddedDriver;Class.forName(driver);String url jdbc:derby:sampleDB;Connection c DriverManager.getConnection(url);return c;
} 通过上述方法创建的Connection对象用于使用SQL访问数据库对象和数据。 sampleDB是数据库的名称。 注意 derby.jar库必须位于使用Java DB Embedded的应用程序的类路径中。 该库包含驱动程序。 它包含在Java DB中。 使用“ ij”以交互方式访问Java DB数据库 ij是Java DB附带的命令行工具。 ij是用于在Java DB数据库上运行交互式查询的JDBC工具。 这位于Java DB安装的\ bin目录中。 启动ij创建数据库并运行SQL命令来创建和访问数据 os prompt ij
ij CONNECT jdbc:derby:testDB;createtrue;
ij Enter SQL commands here… 这将在当前目录中创建一个名为testDB的数据库并连接到该数据库。 Java DB数据库以与数据库名称相同的名称存储在目录内的文件中。 2.用法示例 一个示例用法是使用嵌入式数据库的基于Java Swing的桌面应用程序。 首次启动应用程序时将创建数据库及其对象。 随后应用程序创建或访问数据库中的数据。 该应用程序还具有在线备份数据库功能即在打开数据库时创建备份副本和从备份数据库副本功能进行还原 。 数据库随应用程序关闭。 3.从多个客户端连接到嵌入式Java DB 可以从多个客户端访问嵌入式模式下的Java DB。 一个示例是部署在Web服务器上并连接到数据库的Java Servlet应用程序。 Java DB数据库在Web服务器上配置为DataSource类型的资源。 Servlet应用程序启动数据库并创建Connection对象。 Connection对象是使用DataSource对象而不是DriverManager创建的。 多个Web客户端通过应用程序访问数据库数据。 一个例子 在Web服务器上配置数据源资源 从Servlet访问数据库使用配置的数据源 该配置适用于Apache Tomcat 6 Web服务器。 以下代码示例使用Java ServletJava EEJNDIJava命名和目录接口和JDBC API。 3.1.1。 在Web服务器上配置数据源资源 这称为上下文配置。 这将JDBC数据源的JNDI名称定义为Web应用程序中使用的Java DB数据库的资源用于JNDI查找。 另外指定资源参数。 以下条目已添加到文件“ /META-INF/context.xml”中。 META-INF目录将位于Web应用程序部署WAR文件的根目录中。 ContextResourcenamejdbc/testDBauthContainertypejavax.sql.DataSourceusernamepassworddriverClassNameorg.apache.derby.jdbc.EmbeddedDriverurljdbc:derby:testDB/
/Context name是数据源资源的JNDI名称。 url指定格式为jdbcderbydatabaseName; URLAttributes;的JDBC数据库连接URL 。 并且 testDB是要连接的Java DB数据库的名称。 请注意应用程序从Derby系统目录访问嵌入式数据库。 默认情况下当前目录JVM系统属性user.dir 是系统目录。 对于Java DB可以通过设置JVM系统属性derby.system.home来指定Derby系统目录可选。 在操作系统命令提示符下使用“ java”命令例如 java -Dderby.system.home D\ mydatabases MyApplication 或在Java程序中使用java.lang.System类的setProperty 设置此参数。 。 注意嵌入式数据库驱动程序derby.jar将放置在“ CATALINA_HOME \ lib”目录中。 CATALINA_HOME是Tomcat的安装目录。 3.1.2。 从Servlet访问数据库 以下Java代码显示了使用已配置的DataSource资源访问Java DB数据库的servlet类。 该代码假定已经创建了数据库使用另一个应用程序或使用ij进行交互。 public class TestServlet extends HttpServlet {
private Connection conn;
/** Method executes when the servlet is created.* Accesses the DataSource object and creates the Connection object.*/
Override
public void init()throws ServletException {InitialContext cxt null;DataSource ds null;try {cxt new InitialContext();ds (DataSource)cxt.lookup(java:/comp/env/jdbc/testDB);}catch (NamingException ex) {throw new ServletException(naming context error, ex);}try {conn ds.getConnection();}catch (SQLException ex) {throw new ServletException(connection error, ex);}
} // init()
/** Method to handle a Http Get request.* The Connection object created in init() is used to access the* database data using JDBC API. */Overridepublic void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {...Statement stmnt conn.createStatement();ResultSet rs stmnt.executeQuery(SELECT * FROM test_table);...}
} // TestServlet4.网络服务器又名服务器 在这种模式下可以通过网络客户端-服务器配置从多个客户端访问Java DB。 数据库和应用程序在不同的JVM中运行。 使用JDBC从Java应用程序访问服务器上的数据库。 以下是服务器使用情况的示例。 启动服务器 使用提供的批处理程序位于Java DB安装的\ bin目录中从Windows命令提示符下启动和停止服务器 startNetworkServer.bat和stopNetworkServer.bat 。 从客户端应用程序访问Java DB 加载驱动程序并使用连接URL连接到数据库。 驱动程序是 org.apache.derby.jdbc.ClientDriver 连接URL格式为 jdbcderby// serverport / databaseName; URLAttributes; server是主机名或ip地址 port是服务器正在侦听客户端请求的端口号默认为1527。 以下是使用JDBC启动数据库的示例Java方法 /** The method creates a Connection object. Loads the client driver,* starts and connects to the database using the connection URL.*/
public static Connection createDatabaseConnection()throws SQLException, ClassNotFoundException {String driver org.apache.derby.jdbc.ClientDriver;Class.forName(driver);String url jdbc:derby://localhost:1527/sampleDB;Connection c DriverManager.getConnection(url);return c;
} 通过上述方法创建的Connection对象用于使用SQL访问数据库对象和数据。 sampleDB是数据库的名称。 注意 derbyclient.jar库必须位于客户端应用程序的类路径中才能启动和访问Java DB数据库。 该库包含驱动程序。 它包含在Java DB中。 5.参考 Apache Derby文档10.8手册http://db.apache.org/derby/manuals/index.html Oracle的Java DBhttp//www.oracle.com/technetwork/java/javadb/overview/index.html 作者的Java DB备份和还原博客文章http://www.javaquizplayer.com/blog.html 作者开发和部署并使用Java DB Embedded基于Java Swing的桌面应用程序http://www.scribonotes.com 翻译自: https://www.javacodegeeks.com/2013/07/java-db-embedded-mode.htmljava嵌入式db