- 浏览: 572596 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (205)
- android (78)
- spring MVC (10)
- spring (3)
- javascript (9)
- 喧泄 (0)
- libgdx (1)
- android View展现特效 (6)
- android.graphics.* (2)
- android ListView (4)
- android 电话及短信 (3)
- iPhone (4)
- iPhone自定义控件 (2)
- android 网文摘记 (4)
- java (30)
- android imageView (2)
- android textView EditText (1)
- 用户体验元素 (1)
- 营销推广 (3)
- android 多媒体 (4)
- android原创学习笔记 (7)
- 业余收入 (1)
- AndEngine (3)
- baidu map (3)
- android课程 (3)
- elasticsearch (1)
- freeSwitch (5)
最新评论
-
牵着蚂蚁散步:
哥,在吗,你现在操作freeswitch是用event soc ...
java esl连接freeswitch发送拨打电话<第二篇> -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
过滤特殊字符及表情符 -
YLCCMM:
按照楼主这样是可以页面是可以完成效果,但是后台依旧会报错打印出 ...
spring mvc CommonsMultipartResolver文件上传maxUploadSize限制大小 -
喧嚣求静:
sunshaoqun 写道二次元 写道希望能分享下.so文件编 ...
手机录音-amr -
sunshaoqun:
二次元 写道希望能分享下.so文件编译源码!求.so源码。。。 ...
手机录音-amr
这几天,临时帮忙其他项目组做高级查询,后台处理好数据,动态生成报表一样的表格。
做成表格内容
------------------------------------------------------
考虑到,要把数据后期处理,若用Map,List,保存,不断的遍历,搜索,算法复杂
性能也不能保证,
考虑到内存数据库的优越性,只要把原始数据插入到H2中,后期的数据筛选,统计,只要查询SQL就可,而且H2支持JDBC操作,方便。
附件中有完整样例。
使用内存数据库H2工具类,
数据格式
做成表格内容
------------------------------------------------------
考虑到,要把数据后期处理,若用Map,List,保存,不断的遍历,搜索,算法复杂
性能也不能保证,
考虑到内存数据库的优越性,只要把原始数据插入到H2中,后期的数据筛选,统计,只要查询SQL就可,而且H2支持JDBC操作,方便。
附件中有完整样例。
使用内存数据库H2工具类,
package com; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; public class CacheDB { private static final CacheDB instance = new CacheDB(); private Connection conn = null; private CacheDB() { } @Override protected void finalize() throws Throwable { super.finalize(); closeDB(conn); } public static CacheDB getInstance() { return instance; } public void openDB() { if(isOpenDB()){ return; } try { Class.forName("org.h2.Driver"); conn = DriverManager.getConnection("jdbc:h2:~/test", "sa", ""); System.out.println("---------------------H2 数据库打开成功------------------"); } catch (ClassNotFoundException e) { System.out .println("-------------------H2 数据库驱动找不到----------------"); } catch (SQLException e) { System.out.println("-----------H2 数据库打开出错误------------"); e.printStackTrace(); } } public boolean createTable(String sql) { Statement st = null; try { st = getStatement(); return st.execute(sql); } catch (SQLException e) { System.out.println("--------H2 数据库建表出错误---------"); System.out.println(sql); e.printStackTrace(); } finally { closeStatement(st); } return false; } /** * @deprecated * */ public Object queryForObject(String sql){ return null; } public List queryForList(String sql,RowMapperH2 rowMapper){ Statement st = null; ResultSet rs=null; List result=new ArrayList(); try { st = getStatement(); rs=st.executeQuery(sql); int lineNumber=0; while(rs.next()){ if(rowMapper!=null){ result.add(rowMapper.mapRow(rs, lineNumber++)); }else{ } } } catch (SQLException e) { System.out.println("--------H2 数据库查询出错误---------"); System.out.println(sql); e.printStackTrace(); }finally{ closeStatement(st); closeResultSet( rs); } return result; } public Double queryForDouble(String sql){ Statement st = null; ResultSet rs=null; try { st = getStatement(); rs=st.executeQuery(sql); Double result=0.0; while(rs.next()){ result=rs.getDouble(1); } //System.out.println("queryForDouble sql="+sql+"\nresult="+result); return result; } catch (SQLException e) { System.out.println("--------H2 数据库查询出错误---------"); System.out.println(sql); e.printStackTrace(); }finally{ closeStatement(st); closeResultSet( rs); } return null; } public boolean delFromTable(String table, String whereSql) { if (table != null && table.length() != 0) { Statement st = null; StringBuffer bf = new StringBuffer("DELETE FROM "); try { st = getStatement(); bf.append(table); if (whereSql != null) bf.append(whereSql); return st.execute(bf.toString()); } catch (SQLException e) { System.out.println("--------H2 数据库删除数据出错误---------"); System.out.println(bf.toString()); e.printStackTrace(); } finally { closeStatement(st); } } return false; } public boolean clearTable(String table) { return this.delFromTable(table, null); } public boolean insertTable(String table, String[] column, String[] values) { StringBuffer bf = new StringBuffer("INSERT INTO "); bf.append(table).append("(").append(change2str(column)) .append(") value ( ").append(change2str(values)).append(" )"); return insertTable(bf.toString()); } public boolean insertTable(String sql) { if (conn != null) { Statement st = null; try { st = conn.createStatement(); return st.execute(sql); } catch (SQLException e) { System.out.println("--------H2 数据库插入数据出错误---------"); System.out.println(sql); e.printStackTrace(); } finally { closeStatement(st); } } return false; } private Statement getStatement() throws SQLException { if (conn != null) return conn.createStatement(); return null; } public void closeDB(Connection _conn) { if (_conn != null) try { _conn.close(); } catch (SQLException e) { System.out.println("--------H2 数据库Connection关闭出错误---------"); e.printStackTrace(); } } public void closeDB() { if (conn != null) try { conn.close(); } catch (SQLException e) { System.out.println("--------H2 数据库Connection关闭出错误---------"); e.printStackTrace(); } } private void closeStatement(Statement st) { if (st != null) try { st.close(); } catch (SQLException e) { System.out.println("--------H2 数据库Statement关闭出错误---------"); e.printStackTrace(); } } private void closeResultSet(ResultSet rs) { if (rs != null) try { rs.close(); } catch (SQLException e) { System.out.println("--------H2 数据结果集ResultSet关闭出错误---------"); e.printStackTrace(); } } private String change2str(String[] obj) { return obj.toString().replace("[", "").replace("]", ""); } private boolean isOpenDB(){ return conn!=null?true:false; } }
数据格式
发表评论
-
体验了10个批量文件改名重命名工具都不能达到要求,最终我自己开发了一个工具
2024-08-06 10:06 328体验了10个批量文件改名重命名工具都不能达到要求,最终我自 ... -
网站优化分析学习笔记
2019-03-22 14:03 601工作原因,手机端网页打开慢,急需带着前端做优化,这里 ... -
Spring Batch批处理框架,用于开发强大的日常运营的企业级批处理应用程序-转载
2018-06-12 10:29 766Spring Batch是一个轻量级的框架,完全面向S ... -
shell 管理SpringBoot 生产环境服务-转载
2018-01-31 15:12 1086Spring Boot 在生产环境中运行如果是用maven ... -
spring data jpa 动态更新@DynamicUpdate
2017-10-21 10:10 7272import org.springframework. ... -
spring boot使用外部资源文件,上传文件
2017-09-26 18:38 14140静态资源路径是指系统可以直接访问的路径,且路径下的所有文件 ... -
freeswitch播放mp3
2017-09-22 10:49 2189freeswitch播放mp3需求扩展模块,就是下面这货,感 ... -
讯飞语音合成pcm转wav
2017-09-01 16:10 1703java版讯飞语音合成,目前只能生成pcm格式文件,在项目 ... -
centos 下tomcat使用开源SSL证书启用HTTPS
2017-08-22 12:30 3408centos 下tomcat使用开源SSL证书启用HTTP ... -
CentOS 6、7 生成Let's Encrypt 安全证书
2017-08-16 15:30 1000Let's Encrypt是很火的一个免费SSL证书发行项目 ... -
java 连接freeSwitch的端口,用户,密码的配置
2017-08-09 10:25 4885在java esl连接freeswitch发送拨打电话< ... -
java esl连接freeswitch发送拨打电话<第二篇>
2017-08-07 15:25 11585java esl连接freeswitch发送拨打电话< ... -
java esl连接freeswitch发送拨打电话
2017-08-07 15:13 5201java esl连接freeswitch发送拨打电话-安装 ... -
Elasticsearch-安装
2017-07-24 18:14 698Elasticsearch 下载 https:/ ... -
Spring MVC @JsonView使用详解
2017-07-19 15:35 1040原文出处:http://blog.csd ... -
异常java.security.InvalidKeyException:illegal Key Size的解决方案
2017-07-09 13:20 3801java.security.InvalidKeyExcep ... -
Comet:基于 HTTP 长连接的“服务器推”技术
2013-11-19 22:42 925Comet:基于 HTTP 长连接的“服务器推”技术 什么 ... -
搭建高性能网站方案
2013-11-19 20:20 928Varnish+ESI实现静态页面的局部缓存 ... -
java与cmd命令窗口交互
2013-04-03 20:44 1813package test; import java. ... -
java 与cmd 命令窗口交互操作
2013-04-03 20:42 4363package test; import java. ...
相关推荐
1. **GUI组件**:Swing提供了各种组件,如JFrame(主窗口)、JTable(表格显示数据)、JButton(按钮)、JTextField(文本输入框)等,这些组件构建了可视化界面,使用户能够直观地查看和操作数据库表、记录和查询...
H2DB是一款开源的、高性能的Java内存数据库系统,它被设计为轻量级且易于嵌入到Java应用中。这个压缩包包含了使用H2DB所需的基本资源,特别是对于初学者来说,是一个理想的入门工具。 首先,我们关注的是"H2db"这个...
综上所述,“行程日历表格demo+java”涵盖了许多Java开发的核心概念和技术,包括日期时间处理、数据库操作、GUI设计、事件处理、软件设计模式以及测试和版本控制。理解并掌握这些知识点,开发者可以构建出功能完善的...
另外,Java SE环境提供了丰富的API和库,如集合框架、I/O流、线程等,使得开发人员可以方便地处理数据和实现并发操作。如果系统设计得当,用户界面可能使用Swing或JavaFX库来构建,提供友好的图形用户界面,让用户...
开发者可能使用JPA(Java Persistence API)或MyBatis这样的持久层框架来处理数据库操作,实现数据的CRUD(创建、读取、更新、删除)。 项目中的子文件可能包括以下部分: 1. **源码**:分为前后端两部分,后端代码...
开发者可能使用了Java Swing或JavaFX库来构建图形用户界面(GUI),这些库提供了丰富的组件,如按钮、文本框、表格等,用于构建通讯录的界面元素。此外,Java的多线程特性可能被用来确保程序在后台运行时依然响应...
3. **数据库操作**:项目可能使用了SQL数据库(如MySQL、Oracle或H2),开发者需要熟练掌握JDBC(Java Database Connectivity)进行数据访问,包括连接数据库、执行SQL语句、事务处理等。 4. **Swing或JavaFX**:这...
从“StudentSQL”这个标签来看,该系统很可能使用了SQL(结构化查询语言)来处理数据。可能采用了如MySQL、SQLite或H2等关系型数据库来存储学生信息。开发者通过JDBC(Java Database Connectivity)接口与数据库进行...
通过研究这个源码,初学者可以学习到Java Swing的基本用法,理解如何构建桌面应用,以及如何使用JDBC操作数据库。对于有经验的开发者来说,这是一个了解如何整合Swing和数据库的好实例,也可以作为改进或扩展功能的...
综上所述,这个开源项目利用SpringBoot的便利性,结合Thymeleaf的模板渲染,Layui的前端展示,以及数据库和Redis的后台支持,构建了一个全面的Web应用解决方案。这样的组合为开发者提供了一站式的开发体验,使得项目...
总的来说,《JAVA+SQL电子通讯录带系统托盘》项目融合了Java GUI编程、SQL数据库操作、系统托盘功能实现、数据管理、线程处理等多个重要知识点,对于学习和理解Java应用开发具有很高的参考价值。通过研究源代码和...
在Java中,可以利用Spring框架实现这一模式,其中Model代表业务对象,View负责展示数据,而Controller处理用户请求并协调Model和View之间的交互。 【Java技术栈】: 1. **Java基础**:系统主要用Java编写,所以...
总的来说,“Swing做的通信录”是一个典型的Java桌面应用实例,它结合了Swing的GUI功能和JDBC的数据库操作,通过事件处理和数据绑定实现了用户友好的交互体验。这个项目不仅展示了Swing的基本用法,还涵盖了数据库...
在通讯录系统中,Java主要负责UI界面的构建,事件处理,以及与数据库的交互。例如,Swing库可以用于创建用户界面,包括添加、编辑和删除联系人的按钮,以及显示联系人信息的表格等。同时,Java的多线程机制可以确保...
3. **数据库管理**:系统通常会使用如MySQL、Oracle或H2等关系型数据库存储图书信息,包括书名、作者、出版社、ISBN号、库存数量等。SQL(结构化查询语言)用于与数据库进行交互,进行数据的增删改查操作。 4. **...
`<table>`、`<tr>`、`<th>`和`<td>`标签用于构建表格结构,`<center>`和`<h2>`标签则用于样式和标题设置。 综上所述,这个案例涵盖了Java Web开发中的基本数据库操作流程,包括数据库连接、SQL查询、结果集处理以及...
同时,这也是一个实践Maven构建工具、数据库集成(如MySQL、H2等)、RESTful API设计、模板引擎(如Thymeleaf或Freemarker)以及Spring Security等附加功能的好机会。对于学生或初学者来说,这是一个全面理解现代...
Java Web 实验报告主要涵盖了三个核心知识点:客户端开发设计、基础语法(JavaScript 验证)以及程序设计(JSP ...通过这些实践,学生能够深入理解Web应用程序的工作原理,以及如何利用Java技术来构建交互式的Web应用。
Jdbi库提供了对Java关系数据库的方便,惯用的访问。 Jdbi建立在JDBC之上。 如果您的数据库具有JDBC驱动程序,则可以将其与Jdbi一起使用。 先决条件 Jdbi 3需要Java 8或更高版本才能运行。 Jdbi 3需要Java 11或更高...