JavaDemo——java使用Derby数据库
2023-09-11 14:16:28 时间
jdk6到jdk8自带Derby数据库,在jdk目录的db/lib下会找到derby.jar。
其他jdk版本用maven导入:
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.14.2.0</version>
<!-- <scope>test</scope> -->
</dependency>
注:
1.把<scope>test</scope>注释掉,不然maven会找不到derby的jdbcDriver类;(之前用的数据库Driver找不到类应该也是该问题,解决方案从 https://stackoverflow.com/questions/21262316/java-lang-classnotfoundexception-org-apache-derby-jdbc-embeddeddriver 找到);
2.derby的10.15.X版本没有EmbeddedDriver,需要用10.14.X的版本;
Demo:
/**
* 2019年4月22日上午9:31:21
*/
package testderby;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author XWF
*
*/
public class TestDerby {
/**
* @param args
*/
public static void main(String[] args) {
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:derbydb;create=true");
// Connection conn = DriverManager.getConnection("jdbc:derby:derbydb");
Statement state = conn.createStatement();
state.executeUpdate("create table derbytable(id int,val varchar(128))");
state.close();
Statement state2 = conn.createStatement();
state2.executeUpdate("insert into derbytable values (1,'tom') ");
state2.executeUpdate("insert into derbytable values (2,'jerry') ");
state2.close();
PreparedStatement pstate1 = conn.prepareStatement("select * from derbytable where id = ?");
pstate1.setInt(1, 2);
ResultSet rset1 = pstate1.executeQuery();
while(rset1.next()) {
System.out.println(rset1.getInt(1)+">"+rset1.getString(2));
}
pstate1.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
结果:
参考:
http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html
相关文章
- Java基础_死锁、线程组、定时器Timer
- JAVA学习(四):Java流程控制语句(顺序结构、if条件语句、switch条件语句、循环语句与跳转语句)
- java实现第四届蓝桥杯带分数
- Java实现第九届蓝桥杯耐摔指数
- (Java实现) 洛谷 P1071 潜伏者
- java实现 历届试题 蓝桥杯 打印十字图
- java 数据库编程 学习笔记 不断更新
- Java实现定时调度
- jenkins 持续集成和交付——一个java构件小栗子(四)
- JAVA数据库连接的另一种实现及简单的数据插入及显示
- Eclipse 报 “Exception in thread "main" java.lang.OutOfMemoryError: Java heap space ”错误的解决办法
- Java 实现大整数加减乘除
- JAVA编程思想读书笔记(三)--RTTI
- Java连接MySQL数据库
- 【Java】java使用反射访问对象方法和成员变量
- Java数据库篇6——多表查询
- Java Spring里com.mysql.jdbc.Driver的加载时机
- java 读取excel 将数据插入到数据库
- Spire.Doc for Java 10.12.2 update Word to PDF/HTML to Word
- Linux下Java环境变量配置(脚本版本)
- 【java】Java ArrayList
- 解决idea出现的java.lang.OutOfMemoryError: Java heap space的问题
- 【错误记录】IntelliJ IDEA 编译 Groovy 项目报错 ( gradle-resources-test:XX: java.lang.NoClassDefFoundError: org )
- JAVA运行java程序
- Java String常见问题
- Java连接数据库操作
- 使用Java Spring消费MySQL中的数据库存储过程
- pytorch移动端教程 Java调用libtorch
- JAVA开发讲义(二)-Java程序设计之数据之谜三