lovetopceo 发表于 2013-1-30 01:20:41

java连接sqlite数据库

package test;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;public class TestSQLite {public static void main(String[] a) {   TestSQLite sqlite = new TestSQLite();   String sql = sqlLogData();   // ////////////////////////   String databaseName = "c:/logdata.db";   sqlite.exeCreateTable(sql, databaseName);   // ///////////////////////   sql = sqlIpAddress();   databaseName = "c:/IPaddress.db";   sqlite.exeCreateTable(sql, databaseName);}/*** 创建数据库* * @param sql*/public static void exeCreateTable(String sql, String databaseName) {   try {    // 连接SQLite的JDBC    Class.forName("org.sqlite.JDBC");    // 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之    // String filename = "IPaddress.db";此行是在此类滴当前路经下建一个IPaddress数据库    // String filename = "c:/IPaddress.db";//此行是在C盘下建一个IPaddress数据库,盘符好象要小写才行.注意前面的有个"/"    Connection conn = DriverManager.getConnection("jdbc:sqlite:/"      + databaseName);    Statement stat = conn.createStatement();    stat.executeUpdate(sql);// 创建一个表,两列    /*    * stat.executeUpdate("create table FlyCrocodile (name varchar(30),age varchar(30)) "); //建表    * stat.executeUpdate("insert into flycrocodile values('flucrocodile',21);"); //插入数据    * 插入数据         * ResultSet rs = stat.executeQuery("select * from tbl1;"); // 查询数据    *   * while (rs.next()) { // 将查询到的数据打印出来    *   * System.out.print("name = " + rs.getString("name") + " "); // 列属性一    *   * System.out.println("salary = " + rs.getString("age")); // 列属性二 }    */    // rs.close();    conn.close(); // 结束数据库的连接   } catch (Exception e) {    e.printStackTrace();   }}/*** 创建logdata数据库* * @return String*/private static String sqlLogData() {   String s = null;   // ////////////////////////////////////////   String s1 = "Create TABLE LogData(";   String s2 = "logid integer PRIMARY KEY ASC ON CONFLICT Ignore AUTOINCREMENT UNIQUE NOT NULL";//   String s3 = ",logdate datetime default date()";   String s3 = ", logdate varchar(12)";   String s4 = ",logtime varchar(10)";   String s5 = ",host varchar(50)";   String s6 = ",url varchar(50)";   String s7 = ",verb varchar(50)";   String s8 = ",clientIp varchar(50)";   String s9 = ",event varchar(50)";   String s10 = ",content text";   String s11 = ");";   // ///////////////////   s = s1 + s2 + s3 + s4 + s5 + s6 + s7 + s8 + s9 + s10 + s11;   return s;}/*** 创建IpAddress数据库* * @return String*/private static String sqlIpAddress() {   String s = null;   // ////////////////////////////////////////   String s1 = "Create TABLE iptable( ";   String s2 = "ip1 bigint";   String s3 = ",ip2 bigint";   String s4 = ",country varchar(100)";   String s5 = ",Primary Key(ip2,ip1)";   String s6 = ");";   // ///////////////////   s = s1 + s2 + s3 + s4 + s5 + s6;   return s;}/*** Connection* * @return Connection*/public static Connection getConnection() {   Connection conn = null;   try {    // 连接SQLite的JDBC    Class.forName("org.sqlite.JDBC");    // 建立一个数据库名zieckey.db的连接,如果不存在就在当前目录下创建之    // String filename = "c:/IPaddress.db";    conn = DriverManager.getConnection("jdbc:sqlite:/c:/IPaddress.db");    /*    * Statement stat = conn.createStatement();    *   * stat.executeUpdate(sql);// 创建一个表,两列    */   } catch (Exception e) {   }   return conn;}}
页: [1]
查看完整版本: java连接sqlite数据库