没有合适的资源?快使用搜索试试~ 我知道了~
DBFound2开发平台介绍文档
2星 需积分: 10 2 下载量 107 浏览量
2014-07-17
09:29:04
上传
评论
收藏 650KB PDF 举报
温馨提示
试读
26页
DBFound2开发平台介绍文档,最新的哦~~
资源推荐
资源详情
资源评论
DBFound 框架(暖枫工作室)
1
DBFound
快速开发平台
DBFound 宗旨:解决开发技术复杂、难度高、开发速度慢等问题。
提供快速、便利、高效率的开发平台。
DBFound 简介:通过配置实现前端与后端的交互,实现功能强大、快捷简便的操作方式。只需配
置一系列的 Model 实体文件,外界通过访问 Model 文件就能访问数据库,从而
进行数据的增删改查。通过 jstl 标签配置就能实现强大而美观的 UI 界面。
DBFound 标签分为两类:Model 实体标签 和 JSP 标签
JSP 标签又分为: UI 标签 和 控制标签
一、平台搭建 案例演示
新建一个 web 项目,如下图所示目录结构部署 DBFound 框架。
Model 实体文件的跟目录为 WEB-INF 下面的 model 文件夹。persistence.xml 放在
WEB-INF 下。DBFoundUI 放在 WebRoot 下。
s
图一:框架部署结构图
DBFound 框架(暖枫工作室)
2
1.1 query 实例演示
<?xml version="2.0" encoding="UTF-8"?>
<model xmlns:d="http://dbfound.googlecode.com/model"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
"xsi:schemaLocation="http://dbfound.googlecode.com/model
http://dbfound.googlecode.com/svn/tags/v2/model.xsd">
<query name="load" pagerSize="10">
<sql>
<![CDATA[
SELECT
t.teacher_id,
t.teacher_code,
t.teacher_name,
t.email,
t.telphone_num,
t.last_update_by,
DATE_FORMAT(t.create_date,'%Y-%m-%d') create_date,
DATE_FORMAT(t.last_update_date,'%Y-%m-%d') last_update_date
FROM fnd_teacher t
#WHERE_CLAUSE#
order by t.teacher_code
]]>
</sql>
<filter name="timefrom" express="create_date >= ${@timefrom} " />
<filter name="timeto" express="create_date <= ${@timeto}" />
<filter name="teacher_code" express="teacher_code like ${@teacher_code}" />
<filter name="teacher_name" express="teacher_name like ${@teacher_name}" />
</query>
</model>
上述为一个查询 表 fnd_teacher 的一个 model 文件,目录:model/fnd/teacher.xml,有四
个过滤条件 timefrom、timeto、teacher_code、teacher_name。当前台传入这些参数时,过滤
条件生效。
我们可以通过 http://localhost:8080/dbfound/fnd/teacher.query!load 访问。
得到如同下图的 json 数据。执行 sql 自动根据传输过来的参数,拼接过滤条件。
DBFound 框架(暖枫工作室)
3
1.2 execute 实例演示
<?xml version="2.0" encoding="UTF-8"?>
<model xmlns:d="http://dbfound.googlecode.com/model"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
"xsi:schemaLocation="http://dbfound.googlecode.com/model
http://dbfound.googlecode.com/svn/tags/v2/model.xsd">
<execute name="add">
<param name="teacher_code" dataType="varchar" />
<param name="teacher_name" dataType="varchar" />
<param name="email" dataType="varchar" />
<param name="telphone_num" dataType="varchar" />
<param name="user_id" dataType="number" scope="session" />
<sqls>
<collisionSql
where="exists (select 1 from fnd_teacher where teacher_code= ${@teacher_code})"
message="CODE:#{@teacher_code}
已经使用!
" />
<executeSql>
<![CDATA[
INSERT INTO fnd_teacher
(teacher_code,
teacher_name,
email,
telphone_num,
create_by,
last_update_by,
create_date,
last_update_date)
VALUES (${@teacher_code},
${@teacher_name},
${@email},
${@telphone_num},
${@user_id},
${@user_id},
NOW(),
NOW())
]]>
</executeSql>
</sqls>
</execute>
</model>
上述为一个添加表 fnd_teacher 的一个 model 文件,目录:model/fnd/teacherAdd.xml,参
数前台传入,用${@参数名}获取。
我们可以通过 http://localhost:8080/dbfound/fnd/teacherAdd.execute!add 访问。
得到一个 json 的反馈对象,告知是否操作成功。
*****注解
fnd/teacherAdd 表示访问 model 目下下面 fnd 子目录下面的 teacherAdd.xml。
.execute 说明访问 execute 对象。
!add 表示访问 名为 add 的 execute 对象。
******
query 案例一样
DBFound 框架(暖枫工作室)
4
1.3 UI 界面展示
UI 布局提供八大 UI 组件:grid、form、buttonGroup、tab、panel、tree、treeGrid、menu。
注:对于复杂布局,建议先用 div 布局,然后用组件填充。
下图为简单的
form-button-grid
布局
实现代码如下:
<d:form id="queryForm" title="
角色查询
" labelWidth="80">
<d:line columnWidth="0.33">
<d:field name="role_code" upper="true" width="180" editor="textfield" prompt="
角色编号
"/>
。。。。。。。。。。。。。
</d:line>
<d:line columnWidth="0.33">
<d:field name="timefrom" width="180" editor="datefield" prompt="
创建日期从
" />
<d:field name="timeto" width="180" editor="datefield" prompt="
创建日期到
" />
</d:line>
</d:form>
<d:buttonGroup>
<d:button id="query" title="
查询
" click="query" />
<d:button title="
重置
" click="reset" />
</d:buttonGroup>
<d:grid id="roleGrid" isCellEditable="isCellEditable" queryForm="queryForm" model="sys/role" >
<d:toolBar>
<d:gridButton type="add"/>
<d:gridButton type="save"/>
<d:gridButton type="delete" />
</d:toolBar>
<d:columns>
。。。。。
<d:column name="create_date" prompt="
创建时间
" width="120" />
<d:column name="last_update_date" prompt="
最后修改时间
" width="120" />
<d:column name="last_update_user" prompt="
最后经手人
" width="150" />
</d:columns>
</d:grid>
DBFound 框架(暖枫工作室)
5
二、
Model
实体标签
2.1 model 标签
<model persistenceUnit="mysql" xmlns="http://dbfound.googlecode.com/model">
描 述:Model 为最顶层 root 标签 命名空间为 http://dbfound.googlecode.com/model
属 性:persistenceUnit:用来指定使用那个数据库连接单元,
与 persistence.xml 中对应一致。可以不设置(调用默认单元)。
子标签:<param>
、
<execute>
、
<query>
2.2 param 标签
<param name="user_id" dataType="number" scope="session" />
描 述:param 标签可以在<model>、<execute>、<query>中定义,作为 sql 执行的参数,
modle 中定义的参数为全局的,所有的 execute 和 query 中都能够使用。
属 性:name:必须,作为唯一标示
dataType:声明为那种数据类型(varchar、number、file)
scope:声明从那个空间里面取值(session、request、param、page、outParam)
sourcePath:声明取值的路径,遵循 el 表达式规范 如 session.user.id
autoSession:是否将参数放入到 session 中(true,false)
autoCookie:是否将参数放入到 cookie 中(true,false)
fileSaveType:文件是保存到数据库,还是文件夹(db,disk)
ioType:声明是输入,还是输出参数(in,out)
Value: 指定默认值
注 意:param 取值有两种方式 ${@paramName} 和 #{@paramName}。前者为动
态设值,后者为静态设值。
2.3 query 标签
<query name="load" pagerSize="10">
描 述:query 为 model 标签的子标签,在 model 中可以定义多个 query,用 name
属性区分,一个 model 下 面只能有一个默认的 query 对象,及没有 name 属性。
属 性:name:唯一标示 model 中的多个 query 对象
pagerSize:设置分页大小
子标签:<param>
、
<sql>
、
<filter>
剩余25页未读,继续阅读
资源评论
- rearstone2018-01-22搬运工,还行
array020
- 粉丝: 128
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功