设为首页 收藏本站
查看: 1048|回复: 0

[经验分享] 在Java下连接SQLite数据库

[复制链接]

尚未签到

发表于 2016-11-29 11:21:59 | 显示全部楼层 |阅读模式
  一、下载SQLite数据库的JDBC:http://www.zentus.com/sqlitejdbc/
二、将下载到的包解压后得到jar包放到%JAVA_HOME%\lib下,并且将其添加到ClassPath系统环境变量中。一定要保证在类路径ClassPath中有该jar包,并且保证在JAVA库路径JAVA Library Path中有本地库Native Library(\workspace\"Web应用"\WebRoot\WEB-INF\lib\下最好也要加入该jar包)。"SQLite.JDBCDriver"作为JDBC的驱动程序类名。连接JDBC的URL格式为jdbc:sqlite:/path。这里的path为指定到SQLite数据库文件的路径,例如:
jdbc:sqlite://dirA/dirB/dbfile
jdbc:sqlite://DRIVE:/dirA/dirB/dbfile
jdbc:sqlite://COMPUTERNAME/shareA/dirB/dbfile
三、下面是使用SQLite的两段代码以供参考:
代码段1:
 1 import java.sql.*;
 2 import org.sqlite.JDBC;
 3 
 4 public class SQLiteTest {
 5     public static void main(String[] args) {
 6         try {
 7             // The SQLite (3.3.8) Database File
 8             // This database has one table (pmp_countries) with 3 columns (country_id, country_code, country_name)
 9             // It has like 237 records of all the countries I could think of.
10             String fileName = "c:/pmp.db";
11             // Driver to Use
12             // http://www.zentus.com/sqlitejdbc/index.html
13             Class.forName("org.sqlite.JDBC");
14             // Create Connection Object to SQLite Database
15             // If you want to only create a database in memory, exclude the +fileName
16             Connection conn = DriverManager.getConnection("jdbc:sqlite:"+fileName);
17             // Create a Statement object for the database connection, dunno what this stuff does though.
18             Statement stmt = conn.createStatement();
19             // Create a result set object for the statement
20             ResultSet rs = stmt.executeQuery("SELECT * FROM pmp_countries ORDER BY country_name ASC");
21             // Iterate the result set, printing each column
22             // if the column was an int, we could do rs.getInt(column name here) as well, etc.
23             while (rs.next()) {
24                 String id   = rs.getString("country_id");   // Column 1
25                 String code = rs.getString("country_code"); // Column 2
26                 String name = rs.getString("country_name"); // Column 3
27                 System.out.println("ID: "+id+" Code: "+code+" Name: "+name);
28 
29             }
30             // Close the connection
31             conn.close();
32         }
33         catch (Exception e) {
34             // Print some generic debug info
35             System.out.println(e.getMessage());
36             System.out.println(e.toString());
37         }
38     }
39 }

代码段2:
 1 import java.sql.*;
 2 import org.sqlite.JDBC;
 3 /**
 4  * 这是个非常简单的SQLite的Java程序,
 5  * 程序中创建数据库、创建表、然后插入数据,
 6  * 最后读出数据显示出来
 7  * @author zieckey (http://zieckey.cublog.cn)
 8  */
 9 public class TestSQLite{
10     public static void main(String[] args){
11         try{
12          //连接SQLite的JDBC
13          Class.forName("org.sqlite.JDBC");         
14          //建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之
15          Connection conn = DriverManager.getConnection("jdbc:sqlite:zieckey.db");         
16          Statement stat = conn.createStatement();
17 
18          stat.executeUpdate( "create table tbl1(name varchar(20), salary int);" );//创建一个表,两列
19          stat.executeUpdate( "insert into tbl1 values('ZhangSan',8000);" ); //插入数据
20          stat.executeUpdate( "insert into tbl1 values('LiSi',7800);" );
21          stat.executeUpdate( "insert into tbl1 values('WangWu',5800);" );
22          stat.executeUpdate( "insert into tbl1 values('ZhaoLiu',9100);" ); 
23  
24          ResultSet rs = stat.executeQuery("select * from tbl1;"); //查询数据 
25 
26          while (rs.next()) { //将查询到的数据打印出来
27              System.out.print("name = " + rs.getString("name"+ " "); //列属性一
28              System.out.println("salary = " + rs.getString("salary")); //列属性二
29          }
30          rs.close();
31          conn.close(); //结束数据库的连接 
32         }
33         catch( Exception e )
34         {
35          e.printStackTrace ( );
36         }
37     }
38 }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-307190-1-1.html 上篇帖子: 嵌入式数据库SQLite与Java 下篇帖子: 初探vs2005+sqlite开发WinCE程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表