|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你说是sun公司对她研究的透还是微软?针对自己工具开发的.net网页编程性能上肯定会站上风的。
AJDBCdriverforSQLite.Itcomesintwoflavours,a100%PureJavadriverbasedonNestedVMoranativeJNIlibrary.BinariesareprovidedforWindowsandMacOSX.
今朝Java情况下的sqlite扩大有好几个,可是个中对照完美、并且更新很快的就要数SQLiteJDBC了,并且它的封装也让人感到对照的恬逸,文档也很周全。
利用办法:
下载对应你的开辟平台的二进制包.解开紧缩包并把上面的两个文件拷贝到你的使用程序傍边往:
sqlitejdbc.jar
sqlitejdbc.dll(orlibsqlitejdbc.soorlibsqlitejdbc.jnilib)
在你的代码中援用这个驱动:
Class.forName("org.sqlite.JDBC");
Connectionconn=DriverManager.getConnection("jdbc:sqlite:filename");
//...usethedatabase...
conn.close();
然后运转你的程序的时分在classpath中加上驱动的JAR文件,同时在librarypath中加上C的库文件.比方:
java-cpsqlitejdbc.jar-Djava.library.path=.yourclass
瞧瞧,就是这么复杂.
日期和工夫的处置:
SQLiteJDBC利用尺度所允许的最无效的办法来完成ResultSet.getDate()/getTime()和PreparedStatement.setDate()/setTime(),将工夫以毫秒为单元寄存在一个64位的长整数傍边(UTC通用和谐工夫),这是尺度的unix工夫戳.
只需我们当心的把unix工夫戳转换为SQLite函数利用的格局,如许就不会和SQLite的尺度工夫格局相抵触了,并且从另外一个角度来看利用这类格局存储工夫能够更便利我们在SQLite以外的情况里利用.例如:
prep=conn.prepareStatement("insertintotestvalues(?);");
prep.setDate(1,newDate(1000));
prep.executeUpdate();
rs=stat.executeQuery("select*fromtest;");
rs.getString(1)=="1000";
下面的这个例子中工夫是以unix工夫戳来贮存的.你能够用datetime()和strftime()函数来把工夫转换为尺度的SQLite格局:
prep=conn.prepareStatement(
"insertintotestvaluesdatetime(?,unixepoch);");
prep.setDate(1,newDate(987654321));
prep.executeUpdate();
rs=stat.executeQuery("select*fromtest;");
rs.getString(1)="2001-04-1904:25:21";
rs=stat.executeQuery("selectstrftime(%s,col1)fromtest;");
rs.getDate(1)==newDate(987654321);
编译:
下载源代码包、解紧缩,设置好你的$JAVA_HOME情况变量然后输出:
$make
更多的细节能够参考源代码包中readme的文件.
下载:
http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-nested.tgz
http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-src.tgz
http://www.sqlite.com.cn/Upfiles/source/sqlitejdbc-v033-Win-i386.tgz
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译) |
|