package com.jxtech.cscsyn.util; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.List; import org.apache.poi.util.IOUtils; public class GenSqliteDbUtil { private static void createRssDB(List<Byte> byteList) throws SQLException, Exception { Connection conn=null; PreparedStatement prep=null; PreparedStatement rssInfoPrep=null; InputStream in = null; try{ Class.forName("org.sqlite.JDBC"); String url=Thread.currentThread().getContextClassLoader().getResource("/").toString().substring(5); conn = DriverManager.getConnection("jdbc:sqlite:"+url+"rss.db"); LOG.info("rss.db的路径"+url+"rss.db"); Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists rssType;"); StringBuffer rssTableSql=new StringBuffer("create table rssType ("); rssTableSql.append("id INTEGER, name NTEXT,"); rssTableSql.append("typeId INTEGER,logoUrl NTEXT,"); rssTableSql.append("sort INTEGER);"); stat.executeUpdate(rssTableSql.toString()); LOG.info("创建rssTypeSql:"+rssTableSql.toString()); prep = conn.prepareStatement( "insert into rssType values (?, ?, ?, ?, ?);"); List<SubscribeManage> list=this.getRssType(firmId); if(list.size()>0){ for (SubscribeManage subscribeManage : list) { prep.setInt(1,subscribeManage.getId()); prep.setString(2,subscribeManage.getRssCategory()); prep.setInt(3,subscribeManage.getId()); prep.setString(4,subscribeManage.getRssImgUrl()); prep.setInt(5,subscribeManage.getOrder()); prep.addBatch(); } } conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); Statement stats = conn.createStatement(); stats.executeUpdate("drop table if exists rssInfo;"); StringBuffer rssInfoSql=new StringBuffer("create table rssInfo ("); rssInfoSql.append("id INTEGER, name NTEXT,"); rssInfoSql.append("itr INTEGER,typeId INTEGER,"); rssInfoSql.append("snum INTEGER,url NTEXT,"); rssInfoSql.append("isSubs INTEGER,sort NTEXT,"); rssInfoSql.append("vurl NTEXT,wid INTEGER,"); rssInfoSql.append("subTime TIMESTAMP);"); stats.executeUpdate(rssInfoSql.toString()); rssInfoPrep = conn.prepareStatement( "insert into rssInfo(id,name,itr,typeId,url,sort) values (?, ?, ?, ?, ?, ?);"); List<SubscribeDTO> subList=subscribeService.getRssInfo(firmId); if(subList.size()>0){ for (SubscribeDTO subscribeDTO : subList) { rssInfoPrep.setInt(1, subscribeDTO.getId()); rssInfoPrep.setString(2, subscribeDTO.getSubName()); rssInfoPrep.setString(3, subscribeDTO.getInfo()); rssInfoPrep.setInt(4, subscribeDTO.getSubManageId()); rssInfoPrep.setString(5, subscribeDTO.getRssImgUrl()); rssInfoPrep.setInt(6, subscribeDTO.getOrder()); rssInfoPrep.addBatch(); } } conn.setAutoCommit(false); rssInfoPrep.executeBatch(); conn.setAutoCommit(true); in=new FileInputStream(url+"rss.db"); byte[] b = IOUtils.toByteArray(in); for (int i = 0; i < b.length; i++) { byteList.add(b[i]); } LOG.info("rss.db的路径"+url+"rss.db"); }catch(Exception e){ LOG.info("异常:"+e.getMessage()); e.printStackTrace(); }finally{ if(prep!=null){ prep.close(); } if(rssInfoPrep!=null){ rssInfoPrep.close(); } if(conn!=null){ conn.close(); } if(in!=null){ in.close(); } } } public static void main(String[]args){ // TODO Auto-generated method stub try { long start = System.currentTimeMillis(); // 连接SQLite的JDBC Class.forName("org.sqlite.JDBC"); // 建立一个数据库名test.db的连接,如果不存在就在当前目录下创建之 Connection conn = DriverManager .getConnection("jdbc:sqlite://d:/shb.db"); long end = System.currentTimeMillis(); System.out.println("创建数据库文件并连接耗费时间:" + (end - start)); conn.close(); start = System.currentTimeMillis(); conn = DriverManager.getConnection("jdbc:sqlite://d:/shb.db"); end = System.currentTimeMillis(); System.out.println("数据库连接耗费时间:" + (end - start)); start = System.currentTimeMillis(); Statement stat = conn.createStatement(); stat.executeUpdate ("drop table if exists tbl1;" ) ; // 创建一个表,两列 stat.executeUpdate("create table tbl1(name varchar(20), salary int);"); end = System.currentTimeMillis(); System.out.println("创建表耗费时间:" + (end - start)); // 插入数据 start = System.currentTimeMillis(); stat.executeUpdate("insert into tbl1 values('林凡',8000);"); stat.executeUpdate("insert into tbl1 values('罗航',7800);"); stat.executeUpdate("insert into tbl1 values('小利',5800);"); stat.executeUpdate("insert into tbl1 values('密诏',9100);"); end = System.currentTimeMillis(); System.out.println("插入四行数据耗费时间:" + (end - start)); start = System.currentTimeMillis(); ResultSet rs = stat.executeQuery("select * from tbl1;"); // 查询数据 while (rs.next()) { // 将查询到的数据打印出来 System.out.print("name = " + rs.getString("name") + " "); // 列属性一 System.out.println("salary = " + rs.getString("salary")); // 列属性二 } rs.close(); end = System.currentTimeMillis(); System.out.println("查询数据耗费时间:" + (end - start)); conn.close(); // 结束数据库的连接 } catch (Exception e) { e.printStackTrace(); } } }
相关推荐
5 * 程序中创建数据库、创建表、然后插入数据, 6 * 最后读出数据显示出来 7 * @author zieckey (http://zieckey.cublog.cn) 8 */ 9 public class TestSQLite{ 10 public static void main(String[] args){ 11 ...
主要介绍了Python实现读取TXT文件数据并存进内置数据库SQLite3的方法,涉及Python针对txt文件的读取及sqlite3数据库的创建、插入、查询等相关操作技巧,需要的朋友可以参考下
sqlite简单例程。本地数据库必备 希望能帮助到有需要的人!
从数据库元数据访问,到建表,创建约束,创建sequence等各种DDL操作进行了封装,用户无需编写各种SQL,可以直接通过API操作数据库结构。 尤其是ALTER TABLE等修改数据库的语句,各种不同的RDBMS都有较大语法差异。...
快乐的地方应用 显示您喜欢的地方的示例应用程序。... 步骤3:在com.example.yourProjectName下,再创建四个文件夹,适配器,数据库,模型和实用程序,并创建一个文件,即MapFragments。 在adapters文
14.6.4 数据的插入 236 14.6.5 数据的更新 238 14.6.6 数据的删除 239 14.7 小结 239 第15章 MySQL与PHP的应用 240 15.1 PHP结合数据库应用的优势 240 15.2 Web数据库的工作原理 240 15.3 使用PHP操作MySQL数据库 ...
(2)针对跨域数据交互问题,指出并分析了跨域缓存交互问题出现的原因,通过在HTML5存储技术的基础上,重写LocalStorage,用移动端本地的Sqlite进行数据维护,实现跨域数据交互。 (3)针对页面自适应问题,本文结合...
导出您的Instapaper文章HTML文件,然后使用其中存储的URL下载全文并将其连同元数据一起存储在本地SQLite数据库中。 最初被设想为具有以下功能的实验: queue.Queue; 路径库 Selenium; beautifulsoup4; 报纸3k; ...
2、使用SQLite数据库(RTB)进行实时备份数据库,数据库(HDF)打开始加载。 2、全新界面,可改变布局和改变皮肤; 3、查询状态下可修改数据; 4、EXE电子书文件可自定义图标。 更新日期 2009-03-24 21:00:00 更新...
10.5.2 数据插入 222 10.5.3 数据删除 224 10.5.4 数据修改 224 10.5.5 数据查询 227 10.6 案例重构 229 10.6.1 系统架构设计 229 10.6.2 重构数据访问层 230 10.7 为案例增加参数设置功能 238 10.7.1 ...
数据访问基础类(基于SQLite),主要是用来访问SQLite数据库的。 2.得到最大值;是否存在;是否存在(基于SQLiteParameter); 3. 执行SQL语句,返回影响的记录数 4.执行多条SQL语句,实现数据库事务。 5.执行带一...
为此,在浏览器的“本地存储”中创建了一个 SQLite 数据库。 也可以使用投影仪遥控器。 如果可以通过网站访问。 截图: : 服务在浏览器中打开“index.html” 插入文本行点击“开始投影” (如有必要,请单击“保存...
LocalInfoDlg.h 查看本地信息对话框类文件 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 如题。 FTP、HTTP 多线程断点续传下载文件 源码 如题。 gdiplus应用实例 如题,自绘控件的实现。 gdiplus...
10.1.5. 插入数据行 10.1.6. 更新数据行 10.1.7. 删除数据行 10.1.8. 取回查询结果 10.2. Zend_Db_Statement 10.2.1. Creating a Statement 10.2.2. Executing a Statement 10.2.3. Fetching Results from a ...