您的位置:首页 > 数据库

家德瑞入门教程(第6章 手工建立一个数据库操作功能)

2012-01-31 15:05 543 查看
(这里是文字版教程,图文版请进入http://download.csdn.net/detail/home_dear/4029277直接下载)

刚才我们通过手动的方式完成了一个HelloWorld的程序、又通过自动的方式完成了一个数据库操作的功能。现在我们以手动的方式建立一个数据库的保存功能。用来了解整个原理。

1.1 第一步:新建一个数据表。

CREATE TABLE `tb_author` (

`id` int(10) NOT NULL AUTO_INCREMENT,

`username` varchar(50) DEFAULT NULL,

`truename` varchar(50) DEFAULT NULL,

PRIMARY KEY (`id`)

) ENGINE=InnoDB DEFAULT CHARSET=gb2312

需要注意的是家德瑞的表名字很有讲究,以“tb_”开头,后面与jara的对应Bean的类名一致。具体规则在本教程的结尾有专门说明

1.2 第二步:新建一个与表对应的Bean

新建一个与tb_author相对应的bean.bean的内容如下:

package booksbean.test;
/**
* 中文名:作者。说明:保存作者信息;
* @author HomeDear
*/
public class Author {
/** 中文名:主键ID。说明:主键ID */
private Integer id;

/** 中文名:用户名。说明: */
private String username;

/** 中文名:作者姓名。说明: */
private String truename;

/**
* 取得中文名:主键ID。说明:主键ID(id)的值
* @return 中文名:主键ID。说明:主键ID
*/
public Integer getId() {
return id;
}
/**
* 给中文名:主键ID。说明:主键ID(id)赋值
* @param id 中文名:主键ID。说明:主键ID
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 取得中文名:用户名。说明:(username)的值
* @return 中文名:用户名。说明:
*/
public String getUsername() {
return username;
}
/**
* 给中文名:用户名。说明:(username)赋值
* @param username 中文名:用户名。说明:
*/
public void setUsername(String username) {
this.username = username;
}
/**
* 取得中文名:作者姓名。说明:(truename)的值
* @return 中文名:作者姓名。说明:
*/
public String getTruename() {
return truename;
}
/**
* 给中文名:作者姓名。说明:(truename)赋值
* @param truename 中文名:作者姓名。说明:
*/
public void setTruename(String truename) {
this.truename = truename;
}
}

Bean没有什么特别之处。只是属性和与之对应的get、set方法。需要注意的是命名规则。因为hibernate是通过配置文件把表与bean相关联起来的,但家德瑞是通过名字来关联起来的。

这个Bean建完后的情况如下:

1.3 第三步:建一个Dao文件。

文件内容如下:

/**

* Author操作dao

*/

package test.logic.dao;

import java.util.ArrayList;

import com.homedear.db.HdrDao;

import com.homedear.db.InputBean;

import com.homedear.db.OutputBean;

import com.homedear.db.PageList;

import booksbean.test.Author;

public class AuthorDao extends HdrDao {

/**

* Author对象(中文名:作者。说明:保存作者信息)保存

* @param inputBean

* @return

* @throws Exception

*/

private int saveAuthor(InputBean inputBean) throws Exception{

//声明Author对象(中文名:作者。说明:保存作者信息)

Author author = new Author();

//得到页面参数,并将页面参数赋值给Author对象(中文名:作者。说明:保存作者信息)

inputBean.initBeanSingle(author);

return this.save(author);

}

public OutputBean exec(InputBean inputBean) throws Exception {

//声明输出类

OutputBean out = new OutputBean();

if(inputBean.isActionType("authorNewOk")){

int saveRes=saveAuthor(inputBean);

out.put("saveRes",saveRes);

}

return out;

}

}

这个dao完成了数据保存的工作。建立完dao文件后的工程目录结构如下:

1.4 第四步:建立一个Logic文件

文件内容如下:

/**

* 关于Author的业务逻辑类

*/

package test.logic;

import test.logic.dao.AuthorDao;

import com.homedear.db.InputBean;

import com.homedear.db.OutputBean;

import com.homedear.dis.BaseLogicImpl;

public class AuthorLogic extends BaseLogicImpl {

/**

* 与数据库相关的方法,此方法非必须

*/

public OutputBean myDao(InputBean inputBean)throws Exception{

AuthorDao dao = new AuthorDao();

//一个业务逻辑类只能操作一个数据库,如果要操作多个数据库可以在action中调用多个数据库

//dao.setAlias(1);

OutputBean out = dao.main(inputBean);

return out;

}

/**

* 除数据库相关的方法以外的其它方法,为入口方法

*/

public OutputBean main(InputBean inputBean) throws Exception {

//声明输出类

OutputBean out = new OutputBean();

//执行数据库操作

out = myDao(inputBean);

//执行数据库以外的其它操作

//...

//返回输出bean

return out;

}

}

Logic文件完成对dao的调用以及如果存在其它业务时,对其它业务的调用。

Logic文件建立完成后的目录结构如下:

1.5 第五步:建立Action文件

Action文件的内容如下:

package test;

import com.homedear.db.InputBean;

import com.homedear.db.OutputBean;

import com.homedear.dis.BaseLogic;

import com.homedear.dis.BaseServlet;

import java.util.ArrayList;

import com.homedear.tag.tools.PageInfo;

/**

* action控制类

* @author HomeDear

*

*/

public class AuthorAction extends BaseServlet {

public OutputBean execute(InputBean inputBean) throws Exception {

BaseLogic authorLogic = InstanceLogic("test.logic.AuthorLogic");

OutputBean out = authorLogic.execLogic(inputBean);

//设置显示页面

if(inputBean.isActionType("authorNewOk")){

out.setViewNameIsSuccess();

}

return out;

}

}

Action完成后台与前台的数据交换与页面跳转等工作。建立完成后的目录结构如下:

1.6 第六步:建立jsp页面

用于手工录入要入库的数据信息,Jsp页面的名字:authorNew.jsp。内容如下:

<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@ include file="/util/taglib-import.jspf" %>
<html:html>
<ul>新建Author(中文名:作者。说明:保存作者信息)</ul>
<html:form name="form1"action="test.AuthorAction" hdrCheck="return checkForm('form1')">
<html:hidden name="actionType" value="authorNewOk"/>
<table class="tableCss">
<tr>
<td class="tdCss">用户名:</td>
<td class="tdCss"><html:text name="Author_username" hdrCheck="!*用户名"/></td>
</tr>
<tr>
<td class="tdCss">作者姓名:</td>
<td class="tdCss"><html:text name="Author_truename" hdrCheck="!*作者姓名"/></td>
</tr>
</table>
<table class="tableCss">
<tr>
<td colspan="2" class="tdCss"><div align="center"><html:submitButton value="新建"/></div></td>
</tr>
</table>
</html:form>
</html:html>

1.7 第七步:部署工程并测试

部署(略)。别忘了从启一下tomcat。

在浏览器中录入以下地址:

http://localhost/HelloWorld/action/test.AuthorAction?actionType=authorNew

以下是截图

本教程的所有的源码与本教程一同发行。请进入http://download.csdn.net/detail/home_dear/4029277直接下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: