日期:2014-05-16  浏览次数:20563 次

使用Nutz[1.b.38]对数据库表的CRUD操作

今天看了下Nutz最新的版本库,发现“灰太狼”居然把我上一篇文章《在Nutz中使用Ioc-Annotation的入门教程》收录在Nutz的发行包中,为了表达“灰太狼”的厚爱,决定写多三篇文章以表心意!!!

?

------------------------------------------------------------------

第一篇:使用Nutz[1.b.38]对数据库表的CRUD操作

第二篇:使用Nutz[1.b.38]对关联数据表的一对一/一对多操作 ? ?----已完成,点击查看

第三篇:在Nutz[1.b.38]中使用视图对关联数据表的操作?? ? ? ? ? ----已完成,点击查看

-------------------------------------------------------------------

?

为了表达对Nutz的支持,这三篇文章最后都会提供完整的源代码,顺便作为Nutz的demo例子

?

?

好的,直奔主题,今天先完成第一篇,接下来在此基础上完成第二篇、第三篇。

?

环境与版本:

数据库:MySQL

Nutz:1.b.38

IDE:Eclipse

?

?

涉及的知识点:

1、Nutz对数据库的CURD操作

2、除了数据源和dao对象使用dao.js配置外,其余全部使用Ioc-Annotation注解

3、在@Ok注解中使用NutzEL表达式,不必为跳转到Fail视图而故意抛出异常了

?

?

一、数据库表

?

-- ----------------------------

-- Table structure for `departmentinfo`

-- ----------------------------

DROP TABLE IF EXISTS `departmentinfo`;

CREATE TABLE `departmentinfo` (

??`departmentInfoId` int(11) NOT NULL AUTO_INCREMENT,

??`departmentName` varchar(50) DEFAULT NULL,

??PRIMARY KEY (`departmentInfoId`)

) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

?

-- ----------------------------

-- Records of departmentinfo

-- ----------------------------

INSERT INTO `departmentinfo` VALUES ('1', 'IT部');

INSERT INTO `departmentinfo` VALUES ('2', '人力资源');

INSERT INTO `departmentinfo` VALUES ('3', '财务部');

INSERT INTO `departmentinfo` VALUES ('4', '市场部');

?

?

?

二、例子使用的Jar包


?

三、结构图



?

四、代码

1、首先配置Web.xml,配置Nutz的主模块。

?

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>UserManageSystem</display-name>
  
  <filter>
		<filter-name>nutz</filter-name>
		<filter-class>org.nutz.mvc.NutFilter</filter-class>
		<init-param>
			<param-name>modules</param-name>
			<param-value>demo.nutz.setup.MainModule</param-value>
		</init-param>
	</filter>

	<filter-mapping>
		<filter-name>nutz</filter-name>
		<url-pattern>*.shtml</url-pattern>
	</filter-mapping>
	
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>
?

?

?

2、创建主模块类MainModule.java

?

package demo.nutz.setup;

import org.nutz.mvc.annotation.IocBy;
import org.nutz.mvc.annotation.Modules;
import org.nutz.mvc.annotation.SetupBy;
import org.nutz.mvc.ioc.provider.ComboIocProvider;

import demo.nutz.action.DepartmentInfoAction;

/**
 * 主模块
 *
 * @author gevin(gevinhjy@foxmail.com)
 *
 */
@Modules(value = DepartmentInfoAction.class, scanPackage = true)
@IocBy(type = ComboIocProvider.class