博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java sqlite使用小记
阅读量:6982 次
发布时间:2019-06-27

本文共 3563 字,大约阅读时间需要 11 分钟。

hot3.png

Sqlite教程:
加载sqlite jdbc驱动:
 static{
  try {
   Class.forName("org.sqlite.JDBC");
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  }
 }
获取数据库连接:
private Connection conn = getConn();
 public Connection getConn(){
  if(conn==null){
   try {
    conn = DriverManager.getConnection("jdbc:sqlite:message.db");
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
  }
  return conn;
 
 }
创建表:
/**
  * 创建message表
  *
  * cjianquan
  * 2015-8-4
  */
 public void createTableMsg(){
  try {
   Statement stat = conn.createStatement();
   StringBuilder createSql = new StringBuilder();
   createSql.append("create table message( msg_id text primary key not null,")
   .append("msg_type text ,")
   .append("msg_direction text ,")
   .append("msg_from text,")
   .append("msg_to text,")
   .append("msg_msg text,")
   .append("msg_url text,")
   .append("msg_sound text,")
   .append("msg_time text );");
   stat.executeUpdate(createSql.toString());
   stat.close();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
插入表数据:
/**
  *  判断是否存在表message
  *
  * cjianquan
  * 2015-8-4
  */
 public boolean isTableExists(){
  boolean flag = false;
  try {
   Statement stat = conn.createStatement();
   String sql = "select count(1) from message ";
   stat.executeQuery(sql);
   flag = true;
   stat.close();
  } catch (SQLException e) {
   flag = false;
  }
  return flag;
 }
 public void insertMessage(Message msg){
  boolean flag = isTableExists();
  if(flag){
   try {
    StringBuilder insertSql = new StringBuilder();
    insertSql.append("insert into message(msg_id,")
    .append("msg_type,msg_direction,msg_from,")
    .append("msg_to,msg_msg,msg_url,msg_sound,msg_time) ")
    .append("values (?,?,?,?,?,?,?,?,?);");
    PreparedStatement stat = conn.prepareStatement(insertSql.toString());
   
    stat.setString(1, msg.getId());
    stat.setString(2, msg.getType());
    stat.setString(3, msg.getDirection());
    stat.setString(4, msg.getFrom());
    stat.setString(5, msg.getTo());
    stat.setString(6, msg.getMsg());
    stat.setString(7, msg.getMsgUrl());
    stat.setString(8, msg.getSound());
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    if(msg.getTime()==null || "".equals(msg.getTime())){
     msg.setTime(sdf.format(new Date()));
    }
    stat.setString(9, msg.getTime());
   
    stat.execute();
    stat.close();
    //conn.commit();
    conn.close();
   } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
   
  }else{
   createTableMsg();
   insertMessage(msg);
  }
 }
查询表数据:
 public List<Message> queryMessage(Page page){
  boolean flag = isTableExists();
  List<Message> rtnList = new ArrayList<Message>();
  if(flag){
   int offset = (page.getCurPage()-1)*page.getPageSize();
   
   String querySql = "select * from ( select * from message order by msg_time desc) limit "+page.getPageSize()+" offset "+offset+" ;";
   try {
    Statement statement = conn.createStatement();
    ResultSet rs = statement.executeQuery(querySql);
    while(rs.next()){
     Message msg = new Message();
     msg.setId(rs.getString("msg_id"));
     msg.setType(rs.getString("msg_type"));
     msg.setDirection(rs.getString("msg_direction"));
     msg.setFrom(rs.getString("msg_from"));
     msg.setTo(rs.getString("msg_to"));
     msg.setMsg(rs.getString("msg_msg"));
     msg.setMsgUrl(rs.getString("msg_url"));
     msg.setSound(rs.getString("msg_sound"));
     msg.setTime(rs.getString("msg_time"));
     rtnList.add(msg);
    }
   
    rs = null;
    rs = statement.executeQuery("select count(*) cnt from message");
    if(rs.next()){
     page.setTotal(Integer.parseInt(rs.getString("cnt")));
    }
   
    rs.close();
    statement.close();
    conn.close();
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }else{
   createTableMsg();
  }
  return rtnList;
 }

转载于:https://my.oschina.net/u/2552902/blog/543818

你可能感兴趣的文章
Phalcon入门教程之模型CURD(2)
查看>>
四川成立大数据发展研究会 拟建公共云暨数据交易中心
查看>>
安全公司发现针对印度外交部与军事机构的间谍活动
查看>>
无接口.NET代码的单元测试
查看>>
数据库产品如何选型
查看>>
日本外务省新设网络安全保障政策室
查看>>
美“智能城市挑战赛”决赛名单公布:7座城市入围
查看>>
企业全光网将成运营商部署千兆接入的商业驱动力
查看>>
2030年实现全球10TW的光伏目标 太阳能电池需要哪些突破?
查看>>
2017年物联网五大趋势
查看>>
流量劫持已成行业毒瘤,不正当竞争当严惩
查看>>
最让程序员懊恼的 10 件事
查看>>
Iframe高度自适应(兼容IEFirefox、同域跨域)
查看>>
Google 工程师如何发现 Heartbleed 漏洞
查看>>
《Python面向对象编程指南》——2.8 __new__()方法和不可变对象
查看>>
ROS机器人程序设计(原书第2版)第1章 ROS Hydro系统入门
查看>>
《Android平板电脑开发秘籍》——3.9节技巧:创建一个下拉列表式的ActionBar
查看>>
剖析一个java对象初始化顺序问题
查看>>
《Python和Pygame游戏开发指南》——1.7 安装Pygame
查看>>
reveal.js实现html播放ppt的炫酷效果
查看>>