记Dorado7学习(4)

这次来做一个企业联系方式效果 记Dorado7学习(4)_第1张图片数据是从sl_company加载单条数据到autoform中 

准备工作

sl_company表脚本如下:

CREATE TABLE `sl_company` (
`company_id` int(11) NOT NULL AUTO_INCREMENT,--企业Id
`company_name` varchar(50) DEFAULT NULL,--企业简称
`full_name` varchar(100) DEFAULT NULL,--企业全称
`web` varchar(45) DEFAULT NULL,--企业官网
`address` varchar(100) DEFAULT NULL,--企业地址
`postcode` varchar(45) DEFAULT NULL,--邮政编码
`phone` varchar(45) DEFAULT NULL,--热线电话
`email` varchar(45) DEFAULT NULL,--电子邮件
PRIMARY KEY (`company_id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8;

新建package新建包com.bstek.dorado.sample.standardlesson.entity来放实体映射类   com.bstek.dorado.sample.standardlesson.dao来放DAO类

引入项目依赖包 为了跟数据库交互,需要依赖hibernate等jar包,简单一点,把示列中心的simple-center的lib包拷贝到工程中,而simple-center工程的创建可以参考这里http://wiki.bsdn.org/pages/viewpage.action?pageId=9175368    ,我复制的时候发现没有mysql-connector-java-5.0.4-bin.jar,自己去网上下了个放到工程里面去

生成实体映射类这里采用的是hibernate作为持久层需要生成实体映射类,一般是通过eclipse安装hibernate tools插件从数据库反向生成。这里Dorado7 IDE提供了dbtool数据库建模工具,可以快速从数据库中反向生成实体映射类 

在根目录下新建一个文件夹名为db,接着选中该文件夹new在BDF文件夹中选中创建数据库模型,把file name修改为DB.dbtool,界面分别如下

接着双击DB.dbtool,在DB.dbtool页面那里点击鼠标右键,在弹出菜单中选择import,界面如下,出现配置数据库驱动的页面,选择到standardlesson/WebContent/WEB-INF/lib目录选中mysql驱动,就是mysql-connector-java-5.0.4-bin.jar,点击确定后到jdbc链接配置具体设置看你数据库设置,选择5张表都导入前面做的是从数据库导入了表信息,接下把表信息导出为实体映射类。在DB.dbtool文件上点击鼠标右键,弹出菜单中悬着export,然后在弹出次级菜单中选择export javaBean在弹出界面中,将source folder 和 package 按照下图进行配置并且选中生成hibernate Annotation 

新建Dao文件在com.bstek.dorado.sample.standardlesson.dao新建Dao类,创建SlCompanyDao类,并指定其supperClass为SupperClass为com.bstek.dorado.hibernate.HibernateDaoHibernateDao是一个泛型父类,需要指定类型,PK为实体对象中关联数据库表的主键的属性类型,基本的增删查改由HibernateDao实现,修改后的SICompanyDao类如下  

package com.bstek.dorado.sample.standardlesson.dao;

import org.springframework.stereotype.Repository;
import com.bstek.dorado.hibernate.HibernateDao;
import com.bstek.dorado.sample.standardlesson.entity.SlCompany;
@Repository//标注dao组件
public class SICompanyDao extends HibernateDao {
//HibernateDao已经具备基本的增删查该
}
再类似创建其他Dao类,SIDeptDao和SIEmployeeDao和SIMenuDao和SIMessageDao

数据源链接配置修改standardlesson项目中WebContext下的dorado-home中的configure.properties.,添加数据库的配置信息

core.runMode=debug
model.root=classpath*:models
view.root=classpath:
#数据库配置信息
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=//localhost:3306/standardlesson
jdbc.userName=root
jdbc.password=
jdbc.minIdle=10
jdbc.maxActive=50
hibernate.dialect=org.hibernate.dialect.MySQL5Dialect
hibernate.showSql=true
hibernate.formatSql=true
修改app-context.xml 修改stardardlesson工程中webContext/dorado-home目录中的app-context.xml,加入数据库配置信息



	
	
	
	
	
	
	
	
	
	
	
	
	
	
	${hibernate.dialect}
	${hibernate.showSql}
	${hibernate.formatSql}
	
	
	
	
	com/bstek/dorado/sample/standardlesson/entity
	
	
	
		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
	
	

修改web.xml文件 standardlesson项目中的web.xml文件



	
		com.bstek.dorado.web.servlet.SpringContextLoaderListener
	
	
		OpenSessionInViewFilter
		org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
		
		excludeSuffixs
		js,css,jpg,gif,png
		
	
	
		OpenSessionInViewFilter
		*.d
	
	
		OpenSessionInViewFilter
		/dorado/*
	
	
		doradoServlet
		com.bstek.dorado.web.servlet.DoradoServlet
		1
	
	
		doradoServlet
		*.d
	
	
		doradoServlet
		*.dpkg
	
	
		doradoServlet
		/dorado/*
	
准备Model 现在开始会接触到DataType,简单理解就是对数据格式的定义  dorado7工程通过系统配置,预先读取Model文件,并初始化这些DataTyoe信息,相关配置文件有:dorado-home文件夹下的configure.properties:

创建models目录 在src目录下新建models,这个要约configure.properties中的model.root路径一致,在models目录下创建Model,将file name命名为Common.model.xml,选中该model,在主工作区下方点击Properties选项卡,,切换到Model视图。鼠标选中model节点,添加dataType,然后修改该dataType的属性,name属性为SICompany,matchType属性为com.bstek.dorado.sample.standardlesson.entity.SICompany  (这是匹配javabean类型)    

接着生成PropertyDefs在这个dataType上右键选择【通过简单java对象自动创建PropertyDefs】IDE回根据这个DataType的matchType定义的POJO对象映射生成DataType的ProperDef信息,接下来设置每个字段中文

启动测试 启动测试出现下面的页面没有错误信息输出就表示配置ok

开发步骤 创建视图并添加控件在项目中新建com.bstek.dorado.sample.standardlesson.junior.contacts包,在该目录下新建一个View,命名为ConpanyInfo.view.xml,在ViewConfig节点下的view节点下添加一个DataSet控件(该控件是数据容器控件) 设定dataSet属性的id为datasetCompany  datatType属性如图这里需要注意的是object type回影响到存储dataset数据中相关代码,如果选择的是SICompany则dataType会显示[SICompany],如果选择的是Default,则显示SICompany。接下来需要设定datasetCompany的dataProvider属性为:"companyService#getCompany":   (意思是在Spring的beanFactory中寻找id为companyService的bean)

新建并配置AutoForm datasetCompany是一个数据容器控件,在页面上是不可见的,为了展现其中的数据我们需要添加一个可以展现数据的控件对象,如AutoForm。
在视图中添加AutoForm控件:然后设定AutoForm属性,【鼠标右键】点击autoformCompany控件,在弹出菜单中选择【Generate AutoForm Elements】,生成相关字段:

删除companyId这个AutoForm Elements 。由于AutoForm默认是按2列显示,我们如果需要其单列显示则需要调整布局,设置autoformCompany的属性如下:

然后设置置autoformCompany为只读

准备后台服务在com.bstek.dorado.sample.standardlesson.service包中新建CompanyService.java

package com.bstek.dorado.sample.standardlesson.service;
import java.util.Collection;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import com.bstek.dorado.annotation.DataProvider;
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.sample.standardlesson.dao.SlCompanyDao;
import com.bstek.dorado.sample.standardlesson.entity.SlCompany;
@Component
public class CompanyService{
	@Resource//将SICompanDao依赖注入
	private SlCompanyDao slcompanyDao;
	@DataProvider//用以对dataset提供数据加载服务
	public Collection getCompany(){
		return slcompanyDao.getAll();
	}
}

保存运行打开url即可 http://localhost:8080/standardlesson/com.bstek.dorado.sample.standardlesson.junior.contacts.CompanyInfo.d



你可能感兴趣的:(dorado)