MyBatis在普通Java中的应用

接着上一篇的quartz来说,背景都一样,涉及到dao层模块,最先是把以前封装的apache-dbutils组件拿过来,后来越来越觉得在代码里写一堆sql日后肯定会很蛋疼的,在能力范围内将代码写到最好,我理解的最好是可维护性最佳,毕竟niubility的人写出来的代码渣渣水平都是能改的,而渣渣写出来的代码反而niubility的人都改不了的,不废话了。 强烈建议按着这里过一遍http://www.mybatis.org/mybatis-3/zh/index.html,基本上你就都了解了,MyBatis的介绍说SqlSessionFactory对象只能适于一个环境,换句话说,如果你想适用于两个数据库,那么需要创建两个SqlSessionFactory实例,每个数据库对应一个;如果是三个数据库则需要三个实例,以此类推。 这里有一个概念需要说明一下,普通Java程序的意义这里解释的有些不科学,其...

文章分类:经验分享 技术知识

MyBatisPlus

quartz在普通Java中的使用

现在使用定时任务太普遍了,以前使用都是集成了spring环境,使用起来简单配置一下即可,功能强大,易于维护,这次工作中需要做一款小软件程序,并未集成spring,考虑使用jdk自带的Timer或者是使用quartz组件,由于现在常用的技术平台中也是使用到了quartz组件,也是基于包装后的使用(类似于普通Java类的方式调用),而非与spring集成,于是我就准备也使用Java普通类的方式进行使用。这里所说的Java普通类的含义是想表明非集成框架的方式,如果你也需要这种基于普通类的方式调用,那么这里你值得拥有,东西比较简单,直接上代码。 我们可在http://www.quartz-scheduler.org/;下载,下载来的文件包里面有一些例子,可以打开瞅上一眼,基本都是围绕创建调度工厂再创建一个调度任务,然后执行一个任务的逻辑处理,下文中我也是围绕只创建一个调度工厂的方式进行封装,参考如...

文章分类:经验分享 技术知识

quartz定时任务

小小的整理一下OCR的实现

OCR以前偶尔看到过,从来没想过项目中会用得到这东西,感觉很高大上的样子。最近有一个需求是从一个PDF文件中读取数据,而PDF文件的内容为图片(相当于文件中没有文本,无法用鼠标选中复制),并且给了一个OCR的商业实现方案“泰比”,下载了它的应用软件试用了一下确实很强大,但是它的SDK需要线上申请,由他们销售联系注册申请试用,最后一步给了一个英文的网页让去填写什么什么的(没仔细看,你懂得)。由于是分析实现可行性,所以也查阅着一些开源组件的实现方案,感觉合适的大致上有两种:一、使用tesseract-ocr组件;二:使用tess4j实现; 对于这种高大上东西的如何实现不是我考虑的,对于我这种小渣渣选手来说,找到一个最合适的组件来满足需要就已经是最好的了。所以我重点关注方案的选型、使用角度。 tesseract-ocr是什么大家可以自行寻找理论,如果想在程序中使用,需要安装tesseract-o...

文章分类:经验分享 技术知识

报表导出Word与Excel的实现

也算是做过不少报表导出了,最多的导出类型为Word与Excel两种。下面容我来分析一下这些导出的实现方式。 一、导出Word的实现 1、使用 freemarker模板实现 此种实现是最普遍的,预先按照最终的需要调整好一个doc格式的文件,填上相关数据后,将此doc格式的文件转换为Word格式的xml文件,再编辑xml文件,将需要替换的位置写上一些变量、循环判断逻辑等,在后台使用freemarker实现为其填充数据,并将此文件的后缀格式保存为doc类型。 优点: 1)实现简单、易于维护,推荐使用; 2)可借助于freemarker技术对相关字段进行格式化、逻辑处理等; 3)导出效果可与实际操作Word效果一致; 缺点: 1)导出的格式为doc类型(docx的格式简单试了一下不行,没有继续深入); 2)如果后期导出的样式需要调整将会很痛苦,相当于模板需要重新维护一次; 2、使用拼html标签代...

文章分类:经验分享 技术知识

根据JSON生成JavaBean

根据json格式数据生成一个javabean对象,首先这是一个简单的功能,但是要写出一个比较好的版本实际还是有些难点的,这里跟大家分享一种实现,基于fastjson、freemarker。 实现要求 1. json格式中可包括boolean类型、String类型、int类型、金额类型等常见类型; 2. json格式中可出现其它关联对象,包括其对象类型、集合类型; 3. 相关联的对象类不能作为一个单独的类创建,作为子类创建在内部; 4. 理论上支持无限极JSON对象格式(可能会出现子类、孙子类、重孙子类等); 测试示例 一.最简单的json对象创建 1.json文本 { "active": true, "date": "2016-12-20", "id": 1001, "money": 5.25, "name": "china" } 2.生成的Java类 package com.vo; im...

文章分类:经验分享 技术知识

网页中的录音实现方案

前几天逛了逛论坛,发现了一个网页中录音的实现方案,基于flash实现,即在页面中嵌入一个flash实现录音,然后将录音的文件上传至服务器中,可以搜索一下该组件FlashWavRecorder,给出我看到的原文地址:http://uikoo9.com/blog/detail/java-flashwavrecorder-new,文章中有github地址的源码下载,此为背景。 作为储备的知识,我觉得研究研究还是挺不错的,故将此代码整理整理,摘出来一份儿干净的代码跟大家分享出来。注:此组件的API并未研究,如需正式使用需关注下flash与后台上传时的细节问题。 下面给出运行效果、下载地址,如下: ...

文章分类:经验分享 技术知识

使用SMB/CIFS做文件服务器

背景介绍 SMB/CIFS组件是一种Java访问共享文件夹的实现,使用它也是可以很方便的管理上传下载的文件,先闲话一些别的吧。很久以前有遇到文件的上传下载时,很“单纯”的将文件写至servletContext.getRealPath("/files");目录下,然后就没有然后了,后来慢慢的将某个服务器的共享文件夹以磁盘映射的方式作为本地的磁盘进行访问,也就是说访问时以Z:\\shares......去访问共享文件......在之前的项目中新做的文件上传下载有要求写入一个服务器上,而使用的技术实现则是从一个老系统中迁移出来的,我还一直以为用到的实现时上传的文档服务器提供的接口,并未多想,如果不是前段时间又遇到此种问题了,或许也就没有下文了。最近我找了找它还真的是一个开源组件,基于smb协议的文件访问。 一般项目当中的文档管理,基本的功能是对文档目录的列表读取、文件(夹)的增删改查以及文件的上...

文章分类:经验分享 技术知识

将Java程序制作成exe文件

背景介绍 以前关注过一段时间的制作Java安装程序的实现,当时找的是install4j,也跟着教程实现了一下,给我的感觉就是过程太复杂了,业余了解一下就够了,而前段时间的制作俄罗斯方块的安装包时发现了exe4j的实现,感觉制作过程简单多了。现在说一下这两个软件给我的感觉:install4j感觉是重量级的,制作出的安装程序有下一步下一步的安装功能,跟一般软件的安装过程差不多,而exe4j貌似比较轻量级了,就是将一套程序包写入exe文件,直接双击打开exe文件就是程序的执行文件,无需下一步一下一步的安装了(了解的有点片面了,有不当之处可指出),可按自己所需进行选择。 最近有个需求决定使用swing实现,swing这种东西用的太少了,但是一直都没丢,时不时的还用它写个小玩意儿,所以面对使用swing做一个程序问题不大,而开发工具就使用熟悉的MyEclipse自带的插件,之后再找一套swing的皮...

文章分类:经验分享 技术知识

RandomAccessFile分割、还原文件(三)

背景介绍 关于前面两篇分割、还原文件的介绍,示例代码运行无误,但发现遇到分割3.xxG大小的操作系统文件时,却出现错误,错误原因为:Exception in thread "main" java.io.IOException: Negative seek offset 意思是说指针位置指向的错了,后来分析半天代码发现在代码实现中定义的分割文件的大小用的int类型,而在参与指针位置计算的时候有long类型的参与,但结果还是ing类型的,可能是int越界吧,成了负数导致,将int修改为long类型的即可。另外还有一个地方计算分割文件的开始、结束位置时采用另外一种运算,感觉这种begin、end范围更加科学,代码参考如下: package com; import java.io.BufferedOutputStream; import java.io.File; import java.io.F...

文章分类:经验分享 技术知识

RandomAccessFile

RandomAccessFile分割、还原文件(二)

背景介绍 前文中有一个简单版本的示例,基于彼示例,我做了进一步的优化调整,添加了分割文件的配置属性文件,属性文件一般可以是properties类型的,这里我就采用序列化文件,直接将一个存储好数据的对象写入文件,还原文件时再读入此文件作为还原的标准配置。 记录的属性有以下几个: fileName源文件名称:用于还原文件时恢复分割前的文件原名称; fileLength源文件大小:可用于还原文件前检查现有的还原目录的可用磁盘是否充足; fileSuffix源文件后缀:作用不大可作为预留属性值; partList分割的碎片:按照先后顺序存储所有被分割的碎片文件,还原文件时按照此组数据的先后顺序进行先后写入; 原理同前一篇文章相同,只是功能越完善需要添加的代码和逻辑也就越多了,参考代码如下: 代码实现 1.文件分割 package com; import java.io.BufferedOutput...

文章分类:经验分享 技术知识

RandomAccessFile
本站信息

 运营时间: 天

 用户数量: 人

 文章数量: 篇

 评论数量: 条

 点赞个数: 个

 最后更新:

标签云