仓酷云

标题: JAVA教程之利用dao.Processor办理数据耐久化对象 [打印本页]

作者: 因胸联盟    时间: 2015-1-18 11:50
标题: JAVA教程之利用dao.Processor办理数据耐久化对象
诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。对象|数据
原文

dao.Processor是在多半据库多实体情况下以JAVA对象的数据对象化和耐久化的中心类,它的利用方

法总结以下:

1、与Entity绑定;

针对dao.entity对象,可与EJB.entity设置兼容。与entity兼容的典范利用办法是:

Processorpro=ProcessorFactory.getProcessorInstance(ent);

或:

Processorpro=Processor.getInstance(ent);

或:

processorpro=Procesor.getInstance();

pro.setEntity(entity);或;pro.setEntity(Stringent);

效果一样;

利用的体例是:pro.open();这时候侯pro会从entity的设置中经由过程datasource或ConnectionManager取得指定的数据库毗连;

pro.close(),封闭清空一切的数据资本;

2、与DAO接口绑定;

Pro能够绑定一个大概多个DAO对象,这时候侯Processor显得象一个服务SPI;但每个DAO对象只能绑定一个Processor实例。

能够经由过程find取得dao对象;

DAOdao=pro.findByID(inid)或pro.findByName(Stringname)取得响应entity的实例对象,每一个实例相称于数据库中的一行纪录;

DAOdao=pro.findByValue(Stringkey,Stringvalue);//依据给定的前提前往DAO对象;

dao.insert();dao.update();dao.delete()等办法响应经由过程接口挪用pro.insert(DAOdao)等几个同名办法;能够由容器办理这几个办法,坚持与数据库的同步耐久性。

dao.isExist(),该对象是不是存在;

DAOdao=pro.getDao(Stringsql);//实际上是间接用sql取得dao对象;

3、与Query绑定;

dao.Processor的另外一个利用办法是与dao.Query对象同步。Query是由dao.xml或其他xml界说的包括sql的查询容器,典范设置以下:

insertintobbsthread(author,sourceid,views,replys,authorid,pubdate,alias,topic,content,name,oldpath,oldsource)values(${author},${sourceid},${views},${replys},${authorid},${pubdate},${alias},${topic},${content},${name},${oldpath},${oldsource})

Query经由过程Query.addVarian(name,value),然后利用Query.getSqlStatement()取得完全的sql语句;

Processor.setQuery(Queryqry)设进Query;

Stringmsg=pro.execute();//假如实行一般反回空,不然前往毛病信息;

或ArrayListalist=pro.executeQuery();这请求在entity无效的情形下前往空大概是该entity的对象查询列(合用于select型的Query);

或Resultsetrs=pro.getResultSet(Queryqry);4、间接实行Sql;

dao.Processor能够间接实行sql;

关于查询型的语句能够间接经由过程ResultSetrs=pro.getResultSet(sql);

大概:Stringmsg=pro.doUpdate(sql);间接实行sql实行语句;

经由过程ArrayListalist=pro.getResultList(Stringsql);//利用entity设定的Class范例,请求entity不为空

或ArrayListalist=pro.getResultList(Stringsql,Stringsclss);//DAO接口的class称号;

或ArrayListalist=pro.getResultList(Stringsql,Classcls);

这几个堆叠的办法失掉响应的查询了局对象列;

ArrayListalist=pro.getResultList(String[]conditions,StringsOrd);//这个办法请求enty已设好,按给定的更新的conditions前提集或order语句前往排序对象列;

5、扩大的办法:

ArrayListalist=pro.getStringList(Queryqry);//前往的是String型的列;

BatchDelete(int[]ids),BatchResume(int[]ids);BatchClear(int[]ids),几个Batch办法,请求在entity已设定的基本上批实行指定的id集的一切纪录。

6、猎取connnection的办法;次要经由过程ConnectionManager猎取数据库毗连;

有三个大概的路子;一是经由过程entity所属的取得必要的毗连名;二是经由过程Query的getConn取得必要的毗连名;三是经由过程setConnection间接取得毗连名;

诸如RMI,EJB等一些技术并不是你说的那么复杂,而是它们把一些复杂的工具封装成不复杂的工具了,理解这些工具是需要些时间。我问你,.net里有这些工具吗?要简单多少?。
作者: 蒙在股里    时间: 2015-1-21 16:06
接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。
作者: 小女巫    时间: 2015-1-25 11:46
是一种将安全性(Security)列为第一优先考虑的语言
作者: 海妖    时间: 2015-2-2 17:49
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
作者: 不帅    时间: 2015-2-6 19:51
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 山那边是海    时间: 2015-2-18 11:42
是一种将安全性(Security)列为第一优先考虑的语言
作者: 灵魂腐蚀    时间: 2015-3-6 04:59
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 老尸    时间: 2015-3-7 12:29
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 再见西城    时间: 2015-3-10 19:20
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 透明    时间: 2015-3-12 11:04
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 乐观    时间: 2015-3-14 02:00
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: admin    时间: 2015-3-20 23:27
Java 编程语言的风格十分接近C、C++语言。
作者: 柔情似水    时间: 2015-3-21 18:31
是一种使网页(Web Page)产生生动活泼画面的语言
作者: 兰色精灵    时间: 2015-3-24 05:00
是一种使用者不需花费很多时间学习的语言
作者: 第二个灵魂    时间: 2015-4-7 15:53
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 深爱那片海    时间: 2015-4-10 21:54
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 若相依    时间: 2015-4-16 04:09
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者: 愤怒的大鸟    时间: 2015-4-16 10:11
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
作者: 谁可相欹    时间: 2015-4-16 13:10
是一种使用者不需花费很多时间学习的语言
作者: 飘飘悠悠    时间: 2015-4-16 18:10
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2