您当前的位置:首页 > 互联网教程

Java中dao包biz包中具体写什么怎么分类

发布时间:2025-05-21 12:41:28    发布人:远客网络

Java中dao包biz包中具体写什么怎么分类

一、Java中dao包biz包中具体写什么怎么分类

dao,数据层,意思很清楚,我只做数据库操作,每个dao只针对一张表操作,我不做任何业务

biz,业务层,我只做某方面的业务处理,如果需要数据库工作,联系下数据部门(dao)协助我,业务层不会出现数据操作代码

你说的connection, SQL增删改查方法这些一定是数据层的

哪个是继承接口?你说的是实现接口吧

指的是把需要的方法抽象成接口类,并实现它

boolean isUserExists(Users users);

public class UserBizImpl implements UserBiz{

public UserBizImpl(final UserDao dao){

*@see biz.UserBiz#addUser(entity.Users)

public long addUser(final Users users){

*@see biz.UserBiz#getUsersById(long)

public Users getUsersById(final long id){

*@see biz.UserBiz#isUserExists(entity.Users)

public boolean isUserExists(final Users users){

if(!ObjectUtils.isEmpty(dao.getUsersByName(users

*@see biz.UserBiz#login(entity.Users)

public Users login(final Users users){

final Users users2= dao.getUsersByName(users.getUserName());

if(ObjectUtils.isEmpty(users2)){

if(users2.getUserPassword().equals(users.getUserPassword())){

Users getUsersByName(String name);

List<Users> search(Users condition);

//dao实现就不给了,因为使用hibernate实现

二、php和java哪个好

现在市场上的电子商务软件基本上可归结为两大阵营,即PHP阵营和JAVA阵营。但对接触电子商务不久的用户来说,看到的往往只是它们的表相,只是明显的价格差异,却很难看出它们之间的实际差异。其实, PHP+ MYSQL不值钱不仅仅局限于电子商务软件,而是整体上PHP+ MYSQL开发的软件都不如JAVA开发的软件值钱。为什么PHP+ MYSQL的电子商务为什么不值钱呢?首先得明白PHP和JAVA之间的差异才行。

分层是将系统进行有效组织的方式,分而治之的思想是计算机领域中非常重要的思想。在好的分层思想引导下,便能实现“高内聚、低耦合”,也能将具体的问题割裂开来,易于控制、易于延展,更易于分配资源。PHP只能实现简单的分布式两层或三层的架构,而JAVA在这方面就十分强大,可以实现多层的网络架构。运用MVC的设计模式,可使电子商务软件具有更加高效、合理的系统架构。技术架构的落后,使运用PHP编写的电子商务软件先天不足,而后天又无法补足其先天上的劣势。使得系统在可拓展性、需求应变性上与JAVA编写的电子商务软件系统的差距越来越大。架构的差距,注定了PHP做的电子商务充其量是个小家碧玉,始终无法和JAVA这种大家闺秀同台竞技。

PHP可编译成具有与许多数据库相连接的函数。将自己编写外围的函数去间接存取数据库。通过这样的途径当更换使用的数据库时,可以轻松地修改编码以适应这样的变化。但PHP提供的数据库接口支持彼此不统一,比如对Oracle,MySQL,SQL2000的接口,彼此都不一样。由于PHP对于不同的数据库采用不同的数据库访问接口,所以数据库访问代码的通用性不强。

在JAVA的面前,PHP丢掉了很多的优势。在代码的安全性上尤为突出。PHP的开发程序在别人拿到代码后,可以很容易的进行修改。而JAVA开发的程序由于无法看到完整的源代码,只能看到一些编译好的类文件.class,所以安全性较高。加之系统架构的优势,在安全性上PHP和JAVA是相去甚远。如果非要将PHP和JAVA在安全性上做个比较的话,同一个小偷光顾PHP那是随便拿来随便改,想拿什么拿什么,拿的高兴还能大笔一辉某某到此一游。而光顾JAVA的时候,便会发现警察把守,内设自动报警装置,即便突破重重阻扰后进入居室。那值钱的东西都放在加密后的保险柜中,只能望洋兴叹、铩羽而归。

从整体来说,PHP适用于中小型系统,而JAVA适用于大型系统。PHP能够将单一的事件做好,但却不适合完成集成度较高的多项并发事件。为什么说PHP适合中小型系统而不适合做大系统呢?

首先,PHP缺乏多层结构支持。而对于大型的系统负荷站点,只能采用分布计算。将数据库、应用逻辑层和表示逻辑层彼此分开,并将同层的根据流量分开,组成二维数组。而PHP恰恰缺乏这种支持。

其次,PHP提供的数据库接口不统一,要将多个不同的数据库数据统一需要花费很大的力气。而JAVA则没有这种缺陷,可通过SUN JAVA的JAVA Class和EJB获得规模支持,通过EJB/CORBA以及众多厂商的Application Server获得结构支持。如ProBIZ的Merchant one电子商务软件产品系列。

如果将PHP比作将才,具备独挡一方的能力。那么JAVA便是帅才,具有较好的前瞻性和拓展性,整体布局和协同能力强。能够指挥千军万马,最后逐鹿中原。

三、如何运用Java组件itext生成pdf

首先从iText的官网下载这个开源的小组件。

这里笔者使用的是Java版itext-5.2.1。

将itext-5.2.1.zip压缩包解压缩后得到7个文件:itextpdf-5.2.1.jar(核心组件)、itextpdf-5.2.1-javadoc.jar(API文档)、itextpdf-5.2.1-sources.jar(源代码)、itext-xtra-5.2.1.jar、itext-xtra-5.2.1-javadoc.jar、itext-xtra-5.2.1-sources.jar

使用5步即可生成一个简单的PDF文档。

2 Document _document= new Document();

3// 2.创建书写器,通过书写器将文档写入磁盘

4 PdfWriter _pdfWriter= PdfWriter.getInstance(_document, new FileOutputStream("生成文件的路径"));

8 _document.add(new Paragraph("Hi"));

OK,搞定,不出问题的话就会在你指定的路径中生成一个PDF文档,内容是纯文本的“Hi”。

可是这样并不能完全满足我们的需求,因为通常我们要生成的PDF文件不一定是纯文本格式的,比如我现在要实现打印销售单的功能,那么最起码需要绘制表格才行,怎么办呢?且跟笔者继续向下研究。

在iText中,有专门的表格类,即PdfPTable类。笔者做了一个简单的表格示例,请先看代码:

1 OutTradeList _otl= this.getOtlBiz().findOutTradeListById(this.getOtlid());

2 String _fileName= _otl.getOtlId()+".pdf";

5 BaseFont _baseFont= BaseFont.createFont("STSongStd-Light","UniGB-UCS2-H", true);

7 Document _document= new Document(PageSize.A4);

9 HttpServletResponse response= ServletActionContext.getResponse();

10 response.setContentType("application/pdf; charset=ISO-8859-1");

11 response.setHeader("Content-Disposition","inline; filename="+ new String(_fileName.getBytes(),"iso8859-1"));

13// 2.创建书写器,通过书写器将文档写入磁盘

14 PdfWriter _pdfWriter= null;

16 _pdfWriter= PdfWriter.getInstance(_document, response.getOutputStream());

18 this.setMessage("单据生成失败,请检查服务器目录权限配置是否正确");

20 System.out.println("2.挂了");

25 this.setMessage("单据生成失败,请检查服务器目录权限配置是否正确");

26 System.out.println("3.挂了");

35 PdfPTable _table= new PdfPTable(4);

38 _table.addCell(new Paragraph("单据号", new Font(_baseFont)));

39 _cell= new PdfPCell(new Paragraph(_otl.getOtlId()));

43 _table.addCell(new Paragraph("客户名称", new Font(_baseFont)));

44 _cell= new PdfPCell(new Paragraph(_otl.getClients().getName(), new Font(_baseFont)));

48 _table.addCell(new Paragraph("销售日期", new Font(_baseFont)));

49 _cell= new PdfPCell(new Paragraph(_otl.getOutDate().toString()));

55 PdfPTable _tabGoods= new PdfPTable(7);

57 _tabGoods.setHeaderRows(1);

58 _tabGoods.addCell(new Paragraph("序号", new Font(_baseFont)));

59 _tabGoods.addCell(new Paragraph("商品名称", new Font(_baseFont)));

60 _tabGoods.addCell(new Paragraph("自定义码", new Font(_baseFont)));

61 _tabGoods.addCell(new Paragraph("规格", new Font(_baseFont)));

62 _tabGoods.addCell(new Paragraph("数量", new Font(_baseFont)));

63 _tabGoods.addCell(new Paragraph("单价", new Font(_baseFont)));

64 _tabGoods.addCell(new Paragraph("小计", new Font(_baseFont)));

65 Object[] _outTrades= _otl.getOutTrades().toArray();

66//将商品销售详细信息加入表格

67 for(int i= 0; i< _outTrades.length;){

68 if((_outTrades[i]!= null)&&(_outTrades[i] instanceof OutTrade)){

69 OutTrade _ot=(OutTrade) _outTrades[i];

70 Goods _goods= _ot.getGoods();

71 _tabGoods.addCell(String.valueOf((++i)));

72 _tabGoods.addCell(new Paragraph(_goods.getName(), new Font(_baseFont)));

73 _tabGoods.addCell(_goods.getUserCode());

74 _tabGoods.addCell(_goods.getEtalon());

75 _tabGoods.addCell(String.valueOf(_ot.getNum()));

76 _tabGoods.addCell(String.valueOf(_ot.getPrice()));

77 _tabGoods.addCell(String.valueOf((_ot.getNum()* _ot.getPrice())));

80 _cell.addElement(_tabGoods);

83 _table.addCell(new Paragraph("总计", new Font(_baseFont)));

84 _cell= new PdfPCell(new Paragraph(_otl.getAllPrice().toString()));

88 _table.addCell(new Paragraph("操作员", new Font(_baseFont)));

89 _cell= new PdfPCell(new Paragraph(_otl.getProcure()));

93// 5.向文档中添加内容,将表格加入文档中

98 System.out.println(_fileName);

99 this.setPdfFilePath(_fileName);

100 System.out.println("3.搞定");

以上代码是写在 Struts2的 Action中的,当用户发送了请求之后直接将生成的PDF文件用输出流写入到客户端,浏览器收到服务器的响应之后就会询问用户打开方式。

当然,我们也可以将文件写入磁盘等等。