只要导入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 TEXT NOT NULL, " +
" AGE INT NOT NULL, " +
" ADDRESS CHAR(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")
}
}
你的问题应该从两个方面进行分析第一、使用java内嵌式数据库
在程序中使用
Derby和HSQLDB等java内嵌式数据库,只需在程序中将数据库配置好即可,是程序专用的。
可以达到你所说的java数据库程序不需要配置在任何机器上运行。
但是,内嵌式数据库的处理能力很低,只适合小数据量的程序使用。
第二、使用Oracle、MSSql、MySql等数据库
首先这些数据库软件需要安装,即使不在本机安装也需要在一台可以访问到的机器上安装,然后使用jdbc访问。
如果程序安装在已经安装这些数据库的机器上,你只需要将程序的数据库访问指向本机即可。
但是,在本机安装数据库的机器很少,大部分都是访问网络上的数据库,这就需要你引入配置文件。
在配置文件中进行参数配置。当然,你可以写一些默认配置,当实际环境与默认配置不同时就需要修改默认配置。
所以说不用配置的程序其实是符合你默认配置的程序,你需要根据不同的系统或环境组织自己的默认配置文件。
没有万能的东西,只能是适应大部分,而且需要你在编写程序时提前考虑针对各种运行环境的变化。
有问题请留言吧