java 调用 sqlite 数据库

java 调用 sqlite 数据库,第1张

只要导入jar包就行了,使用的时候 加载class(即Class.forName("org.sqlite.JDBC"))然后可以用最原始的jdbc代码去使用sqlite比如创建连接:Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db" )(其中test.db就是数据库文件以及数据库的名称,这句话有两个作用:1、如果不存在该数据库则创建并返回连接;2、如果存在了数据库,则直接返回连接)代码如下:

import java.sql.*public class SQLiteJDBC{ public static void main( String args[] ) {Connection c = null try {//Class.forName加载class Class.forName("org.sqlite.JDBC") c = DriverManager.getConnection("jdbc:sqlite:test.db") } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ) System.exit(0) }System.out.println("Opened database successfully") }} 创建表import java.sql.*public class SQLiteJDBC{ public static void main( String args[] ) {Connection c = null Statement stmt = null try {//Class.forName加载class Class.forName("org.sqlite.JDBC") //DriverManager.getConnection创建连接 c = DriverManager.getConnection("jdbc:sqlite:test.db") System.out.println("Opened database successfully") stmt = c.createStatement() //sql创建表语句 String sql = "CREATE TABLE COMPANY " + "(ID INT PRIMARY KEY NOT NULL," + " NAME TEXTNOT NULL, " +" AGEINT NOT NULL, " +" ADDRESSCHAR(50), " +" SALARY REAL)" //executeUpdate创建表 stmt.executeUpdate(sql) stmt.close() c.close() } catch ( Exception e ) { System.err.println( e.getClass().getName() + ": " + e.getMessage() ) System.exit(0) }System.out.println("Table created successfully") }}

h2创建数据库语句如下:

CREATE TABLE TEST AS SELECT * FROM CSVREAD('test.csv')//csv文件数据创建test表 CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) AS SELECT * FROM CSVREAD('test.csv')/创建test表,csv文件相应的列插入到test表相应的字段

H2数据库介绍

常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2,HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独立的客户端和服务器端。

H2的优势:

1、h2采用纯Java编写,因此不受平台的限制。

2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。

3、性能和功能的优势

H2比HSQLDB的最大的优势就是h2提供了一个十分方便的web控制台用于 *** 作和管理数据库内容,这点比起HSQLDB的swing和awt控制台实在好用多了。

java程序中数据储存方法如下:

一种是栈内存,另一种是堆内存

(1)在函数中定义的基本类型变量(即基本类型的局部变量)和对象的引用变量(即对象的变量名)都在函数的栈内存中分配;

(2)堆内存用来存放由new创建的对象和数组以及对象的实例变量(即全局变量)。

在函数(代码块)中定义一个变量时,java就在栈中为这个变量分配内存空间,当超过变量的作用域后,java会自动释放掉为该变量所分配的内存空间;

在堆中分配的内存由java虚拟机的自动垃圾回收器来管理

堆和栈的优缺点

堆的优势是可以动态分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的。

缺点就是要在运行时动态分配内存,存取速度较慢;

栈的优势是,存取速度比堆要快,仅次于直接位于CPU中的寄存器。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9895537.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存