|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
原文 dao.Processor是在多数据库多实体环境下以JAVA对象的数据对象化和持久化的核心类,它的使用方 法总结如下: 一、与Entity绑定; 针对dao.entity对象,可与EJB.entity设置兼容。与entity兼容的典型使用方式是: Processor pro =ProcessorFactory.getProcessorInstance(ent); 或: Processor pro =Processor.getInstance(ent); 或: processor pro =Procesor.getInstance(); pro.setEntity(entity); 或;pro.setEntity(String ent); 效果相同; 使用的方法是: pro.open();这时侯pro会从entity的设置中通过datasource或ConnectionManager获得指定的数据库连接; pro.close(),关闭清空所有的数据资源; 二、与DAO接口绑定; Pro可以绑定一个或者多个DAO对象,这时侯Processor显得象一个服务SPI;但每一个DAO对象只能绑定一个Processor实例。 可以通过find获得dao对象; DAO dao =pro.findByID(in id)或 pro.findByName(String name)获得相应entity的实例对象,每个实例相称于数据库中的一行记录; DAO dao =pro.findByValue(String key,String value);//根据给定的条件返回DAO对象; dao.insert();dao.update();dao.delete()等方式相应通过接口调用pro.insert(DAO dao)等几个同名方式;可以由容器治理这几个方式,保持与数据库的同步持久性。 dao.isExist(),该对象是否存在; DAO dao =pro.getDao(String sql);//其实是直接用sql获得dao对象; 三、与Query绑定; dao.Processor的另一个使用方式是与dao.Query对象同步。Query是由dao.xml或其他xml定义的包含sql的查询容器,典型设置如下: insert into bbsthread (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(Query qry)设入Query; String msg =pro.execute();//假如执行正常反回空,否则返回错误信息; 或ArrayList alist =pro.executeQuery();这要求在entity有效的情况下返回空或者是该entity的对象查询列(适用于select型的Query); 或Resultset rs =pro.getResultSet(Query qry);四、直接执行Sql; dao.Processor可以直接执行sql; 对于查询型的语句可以直接通过ResultSet rs =pro.getResultSet(sql); 或者:String msg =pro.doUpdate(sql);直接执行sql执行语句; 通过 ArrayList alist =pro.getResultList(String sql);//使用entity设定的Class类型,要求entity不为空 或ArrayList alist =pro.getResultList(String sql,String sclss); //DAO接口的class名称; 或ArrayList alist =pro.getResultList(String sql,Class cls); 这几个重叠的方式得到相应的查询结果对象列; ArrayList alist =pro.getResultList(String[] conditions,String sOrd);//这个方式要求enty已经设好,按给定的更新的conditions条件集或order语句返回排序对象列; 五、扩展的方式: ArrayList alist =pro.getStringList(Query qry);//返回的是String型的列; BatchDelete(int[] ids),BatchResume(int[] ids); BatchClear(int[] ids),几个Batch方式,要求在entity已经设定的基础上批执行指定的id集的所有记录。 六、获取connnection的方式;主要通过ConnectionManager获取数据库连接; 有三个可能的途径;一是通过entity所属的获得需要的连接名;二是通过Query的getConn获得需要的连接名;三是通过setConnection直接获得连接名; 返回类别: 教程 上一教程: Beginner: Using Servlets to display, insert and update records in database.(3) 下一教程: BDK1.1启动时抛错问题。 您可以阅读与"使用dao.Processor治理数据持久化对象"相关的教程: · 使用hibernate扩展工具hbm2java根据配置文件生成持久化对象类(2.1.2) · 使用JDBC创建数据库对象 · 使用JAVA DATA OBJECT(JDO)存放持久性数据 · JAVA中使用JCOM操作OFFICE对象 · 利用JAVABEAN轻松实现对数据库的连接、查询以及增删改--使用范例 |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |