仓酷云
标题:
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