MyEclipse比Eclipse更适合开发web程序、
web 调试方式
管理系统开发时用到的插件
Spring持久化对象
MyBatis框架
数据导出的典型场景
利用POI导出
利用CSV导出
web调试方式
在开发web的过程中,如果不进行调试,很多前端的东西都需要依靠程序员的经验去猜测,或则使用alert方式输出值,这样开发出的程序是极不靠谱的。因此,基本每个浏览器都提供了开发人员工具,以便于程序员对每一步的操作所产生的变化都进行跟踪,从而得出正确的结论。Internet Explorer, Chrome, FireFox这三大浏览器的调试方式差不多,都需要在javascript文件中写debugger,只要浏览器开启了调试模式,程序就会在debugger处自动停止下来。
常用的调试方式具体如下:
1. 单击选择元素:用于选择HTML页面的元素,来查看该元素的构成。例如,跟踪样式,布局,属性,通过在调试模式下修改元素参数,可以在页面上直观的看到结果
2. 清除浏览器缓存:有时会发现调试的时候,浏览器没有在断点处停下来,这可能是因为缓存的原因,没有及时生效。
3. 继续:程序直接执行,一般会在下一个debugger处停下
4. 逐语句
5. 逐过程
6. 跳出:如果程序进入一个引用的或则特别复杂的Javascript中,逐语句或逐过程执行已经很难获取有效信息,此时可以选择跳出,在当前需要的JavaScript中,继续选择逐语句或则逐过程调试
管理系统开发时用到的插件
- 数据网格插件
数据网格插件以表格的形式展示数据,提供了选择,排序,编辑,分页等功能。使用该插件可以极大地节省开发时间,提高开发效率 - 链接按钮插件
链接按钮插件是基于HTML的<a>
标签创建的,它可以同时显示图标文本,按钮的宽度可以动态适应它的文本 - 分页插件
分页插件的主要作用是将AJAX返回的数据分成若干项来展示。由于从数据库中查询到的数据 总数往往是海量的,这些数据不可能在表格的第一页全部展出,否则用户体验会非常差劲。 - 解析器插件
这个是冷门插件,EasyUI插件能够成功解析,并且最终呈现到页面上产生效果,靠的就是解析器。一般情况下,解析器会在DOM加载完成后自动被调用,渲染出整个界面。 - 简单加载插件
简单加载插件是加载EasyUI插件,JavaScript文件,CSS文件的,这个和解析器插件都是冷门插件
要使用该插件,必须引用easyloader.js文件,否则浏览器会报错。简而言之,我们习惯引用jquery.EasyUI.min.js来加载完整的插件文件。如不引用这个文件,所有定义的easyUI插件都会失效。不过如果使用简单加载插件的话就可以不引用它
- 可拖动插件
- 可放置插件
- 可调整大小插件
- 搜索框插件
- 进度条插件
- 提示框插件
- 面板插件
- 折叠面板插件
- 布局插件
- 菜单插件
- 菜单按钮插件
- 表单插件
- 验证框插件
- 下拉列表框插件
- 日期时间框插件
- 微调器插件
- 窗口插件
- 对话框插件
消息框插件
Spring持久化对象
何谓”持久化” : 持久(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化的主要应用是将内存中的数据存储在关系型的数据库中
Spring提供了持久化对象,Hibernate也提供了持久化操作对象,如果有更多的框架也提供的话就会让我们难以选择。解决的办法是以不变应万变。
原理是:第三方框架提供的对象再多,其实也是基于JDBC对象的继承与实现。其本质还是JDBC。所以我们只要牢牢掌握了JDBC,在学习一种框架提供的持久化对象即可
。
JdbcTemplate对象
Jdbctemplate封装了我们使用的JDBC对象的流程,其中包括SQL执行、异常捕捉、查询结果转换等功能。
Spring 提供的Jdbctemplate类封装了所有的持久化操作方法,在使用的时候,可以直接调用,从形式上而言,比原始的JDBC方式更加方便,易于理解。从语法上来讲,也更加简洁。
NamedParanmeterJdbctemplate
NamedParanmeterJdbctemplate对Jdbctemplate做了封装,提供了更加便捷的基于命名参数的使用方式而不是传统的JDBC所使用的“?”作为参数的占位符。这种方式在你需要为某个SQL指定许多个参数时,显得更加直观而易用。
该特性必须工作在JDK1.4以上。
MyBatis框架
该词来源于intermet 和abatis的组合,是一个基于Java的持久层框架。MyBatis的主要特点是延用了JDBC的一些优点,例如,可以动态、灵活地传递SOL语句所需要的参数。并且,不建议将拼接的SQL语句写在Java代码里,而是采用映射XML的方式,将所有的SQL语句写在一个XML文件里,统一管理。这样的方式,既不同于传统的JDBC,也不同于Hibermate。可以说,它比JDBC更加具有条理,因为JDBC需要将大量SQL语句写在Java代码里,尽管我们会将SQL语句写在三层架构的最后一层,可仍然免不了阅读困难的情况。与Hibermate相比,两者的运行速度、对象管理、缓存机制等方面都各有千秋,但最大的不同,仍然是开发理念方面的,MyBatis 坚持开发人员来编写SOL操作持久层,Hibermate坚持以操作对象的方式与数据库交互。
环境搭建
在持久化操作对象这一层面上,除了需要熟练掌握JDBC,JdbcTemplate之外,同时也要对MyBatis熟练运用
大致搭建步骤:
1. 去MyBatis官网下载需要的Jar包
2. 将MyBatis核心Jar包复制到lib文件夹里
3. 在Oracle数据库中新建一个简单的CUSTOM表
4. 在src目录下新建config.xml配置文件
5. 创建数据库客户表CUSTOM对应的Bean类
6. 实现CustomMapper接口
7. 完成CustomMapper映射文件
8. 测试MyBatis的配置:先手动在CUSTOM表中输入一条记录,然后,使用MyBatis的测试类,通过CustomMapper映射文件来获取数据库中的值,如果获取到了,就说明之前的配置完全成功了。
配置参数
打开src目录下的config.xml配置文件,可以看到,MyBatis对事务和数据源进行了配置
构成该配置文件的主要结构有以下几种:
- configuration: 根元素 ->所有的配置信息都要被包含在这个标签中
- properties: 定义配置外在化 ->在config.xml文件中,关于数据源的配置是固定的,使用properties就可以引用某个具体的文件中,来完成配置。
- settings: 全局性的配置;可以修改MyBatis在运行时的行为方式
- typeAliases: 为一些类定义别名;用来减少类完全限定名的多余部分
- environments: 配置MyBatis的环境;可以配置多个环境,但是每个sqlSessionFactory实例只能选择一个运行环境
- transactionManager: 事务管理器;MyBatis有两种事务管理类型:JDBC, MANAGED
- dataSource: 数据源
- mappers: 映射文件或映射类;mapper标签指明MyBatis映射的SQL语句。可以使用类路径中的资源引用,或则使用字符,输入确切的URL引用。
数据导出的经典场景
数据导出是java企业级开发中经常会用到的功能。简单的导出功能,通过POI组件或则Java提供的方法就可以用到,而复杂的导出功能
,就需要做更多的定制开发,如多种样式的导出,多级表头的导出
。
典型应用场景
譬如从管理系统查询出的发货城市统计表,如果只是用来浏览,这个目标相对简单,在实际工作中,把这些数据导出成我们经常使用的,便于携带,阅览的数据格式,一般情况下,就是Excel和CSV.
应用场景:
- 打印出来在开会时人手一份,用来分析销售情况;
- 将数据从一台电脑存储到优盘中,带回家里分析
- 在信息化的公司,月度或则年度考核,总结的时候,都需要把数据库中的信息导出来进行汇总,以评估月度或年度公司的各项指标情况
利用POI导出
POI是一个成熟的数据导出框架,主要用于导出Excel;POI提供了操作Excel的API,利用POI,我们可以很容易地完成Excel的导出。
利用POI导出,首先需要把POI 的Jar包导入Java项目中。这是第一步,只有导入了相应的Jar包,才可以使用POI提供的各种操作Excel的API
Apache POI 是Apache的开源函数库,POI提供API给Java程序,使其能对Microsoft Office系列的文件进行读写。
POI主要包含5个包
1. 包含HSSF的包主要用于导出Excel文件
2. 包含XSSF的包主要导出Excel OOXML格式的文件
3. 包含HWPF的包主要导出Word格式的文件
4. 包含HSLF的包主要导出PPT格式的文件
5. 包含HDGF的包主要导出Visio格式的文件
具体实现
- POI导出有前端实现
- POI导出也有后端实现
利用CSV导出
利用POl,可以实现自定义样式的导出,非常适合报表类的数据,但导出的格式是Excel,就要受到Excel文件的规则限制。有时候,可能我们对数据样式的要求并不高,需要的只是把海量数据经过一个低成本的方式,导入某个文件当中,然后,把这些文件分给需要的人,或者导人其他数据库。如果利用POI导出,因为数据量巨大的原因,会浪费大量的内存,并且加大服务器负载。如果POl处理的程序写得不够完善,也极易出现内存溢出,导出表格混乱等错误。此时,我们可以利用CSV的方式进行导出,来规避这些问题。
CSV介绍
CSV全称Comma-Separated Values,即逗号分隔值,其文件以纯文本形式存储数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔,换行符比较常用的是逗号。CSV文件中,所有的记录都遵循这一规则,没有其他的样式设置,故该类文件的特征是占用空间小,存储容量大,非常适合大数据量的存储和迁移
。
利用CSV导出,不需要导入JAR包,使用Java自己的语法就可以完成相应的代码实现。它与POl的一个主要的区别,就是这一点:不依赖于第三方JAR包,就可以独立实现功能。这是因为,纯文本文件没有Excel中那些花俏的样式,使用Java的语法完全可以实现这些功能。
具体实现
- CSV导出有前端实现
- CSV导出也有后端实现