`
Supanccy2013
  • 浏览: 225059 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Nutz3---nutz实现主键自增

    博客分类:
  • Nutz
阅读更多
    nutz的主键不在数据库底层实现主键自增,还是要依靠数据库底层实现主键自增。
     下面是oracl和nutz配合实现主键自增。

第一步:在数据库里完成主键自增的机制。
1,创建表T_PERSON(设置id字段为主键)
-- Create table
create table T_PERSON
(
  ID        NUMBER not null,
  NAME      NVARCHAR2(60),
  PASSWORD  NVARCHAR2(60),
  ADDRESSID NUMBER
)
tablespace SYSTEM
  pctfree 10
  pctused 40
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table T_PERSON
  add constraint PK_PERSON primary key (ID)
  using index 
  tablespace USERS
  pctfree 10
  initrans 2
  maxtrans 255
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );


2,创建序列(实现主键自增的必要前提)
--创建序列(实现person,address主键自增的必要序列)
create sequence seq_nutz
increment by 1
start with 1
maxvalue 999999999;


3,给要主键自增的表上创建触发器(在插入前利用触发器给主键id赋值)
--给person表创建触发器--实现主键自增
CREATE TRIGGER trigger_pk_person BEFORE
insert ON  T_PERSON FOR EACH ROW
begin
select seq_nutz.nextval into:New.id from dual;
end;


4,测试
插入sql:
INSERT INTO t_person(NAME,password,Addressid) VALUES('陈超阳','123456789','24');
再次查询该条记录已经有了id 42了。
至此数据库设计已经ok。

第二步:nutz插入:
1,数据库实体模型设计
package com.supan.nuts.module;

import org.nutz.dao.entity.annotation.Column;
import org.nutz.dao.entity.annotation.Id;
import org.nutz.dao.entity.annotation.One;
import org.nutz.dao.entity.annotation.Table;

@Table("T_PERSON")
public class Person {
	
         //ID表示使用数据库的自增(默认的)
	@Id
	private Integer id;
	
	@Column("name")
	private String name;
	
	@Column("password")
	private String password;
	
	@Column("addressId")
	private Integer addressId;
	
	@One(target = Address.class,field = "addressId")
	private Address address;
         //省略getter setter....
}


2,插入的action。
package com.supan.nuts.action;

import org.nutz.dao.impl.NutDao;
import org.nutz.ioc.loader.annotation.Inject;
import org.nutz.ioc.loader.annotation.IocBean;
import org.nutz.mvc.adaptor.JsonAdaptor;
import org.nutz.mvc.annotation.AdaptBy;
import org.nutz.mvc.annotation.At;
import org.nutz.mvc.annotation.Ok;
import org.nutz.mvc.annotation.Param;

import com.supan.nuts.module.Person;

@IocBean
public class PersonAction {
	
	@Inject
	private NutDao dao;

	@At("/insertPerson")
	@Ok("json")
	@AdaptBy(type=JsonAdaptor.class)
	public String insertPerson(@Param("..") Person person) {
		dao.insertWith(person, "address");
		return "success";
	}
	
	public NutDao getDao() {
		return dao;
	}

	public void setDao(NutDao dao) {
		this.dao = dao;
	}
}

分享到:
评论

相关推荐

    nutz需要的jar包

    `nutz-log`提供了日志记录功能,可以根据需求选择不同的日志实现,如log4j、slf4j等;`nutz-utils`则是一些通用的工具类,如字符串处理、日期时间操作等。 在实际项目中,根据需求可能还需要引入一些额外的jar包,...

    nutz-1.r.60.jar

    nutz-1.r.60.jar

    nutz-1.b.43-jdk5.jar

    nutz-1.b.43-jdk5.jar 资源包

    nutz-1.r.58

    3. `nutz-1.r.58-sources.jar`:这个文件提供了Nutz框架的源代码,对于想要深入研究Nutz内部实现或者进行二次开发的开发者来说非常有价值。通过查看源码,开发者可以更直观地理解框架的工作原理,以便更好地利用和...

    nutz-1.r.61-发布包

    3. **Nutz-1.r.61.jar** 这是Nutz框架1.r.61版本的核心库文件,包含了所有编译后的Java类。在开发项目时,将此jar文件添加到项目的类路径中,就可以使用Nutz提供的各种服务和功能。 4. **Nutz-1.r.61-sources.jar*...

    nutz-1.b.52.zip

    Nutz, 它是一组轻便小型的框架的集合。 -------------Nutz 可以做什么? Dao -- 针对 JDBC 的薄封装,事务模板,无缓存 Ioc -- JSON 风格的配置文件,声明时切片支持 Mvc -- 注解风格的配置,内置多文件上传功能 ...

    nutz-嵌入式开发资源

    Nutz -- Web(Mvc/Ioc/Aop/Dao/Json) for ALL Java developer

    nutz-1.r.62.zip

    2. `nutz-1.r.62-sources.jar`:提供了框架的源代码,开发者可以通过查看源码理解Nutz的内部实现,便于学习和调试。这对于深入理解和自定义框架行为非常有帮助。 3. `nutz-1.r.62-manual.pdf` 和 `nutz-1.r.62-...

    nutz-1.b.48-manual.pdf 文档

    Nutz框架是Java编程语言的一组轻便小型框架集合,旨在提高Web开发人员的生产力。Java作为一种优美且成熟的编程语言,广泛应用于各种软件领域,包括企业服务器、移动设备、车载设备等,甚至拓展到了桌面和图像处理...

    nutz-1.r.62.jar

    nutz-1.r.62.jar 的jar包 可以解决中文乱码,设置字符编码等等

    nutz 使用手册 nutz-1.a.33-manual.pdf

    ### Nutz 使用手册知识点概述 #### 一、Nutz 框架简介 - **背景与定位**:Nutz 是一款旨在提高 Java Web 开发效率的轻量级框架集。随着脚本语言在 Web 开发领域的兴起,Java 开发者面临开发效率低下等问题。Nutz ...

    nutz-1.b.43-jdk6.jar

    nutz-1.b.43-jdk5.jar 资源包

    wendal-nutz-master.zip

    这个压缩包“wendal-nutz-master.zip”包含了NUTZ框架的一个示例项目或者学习资源,帮助初学者理解和掌握NUTZ的核心特性。 在深入探讨NUTZ之前,我们先来理解一下什么是框架。框架是一种预定义的软件结构,它规定了...

    nutz_redis集成依赖包

    3. **Nutz Redis集成**:Nutz Redis模块提供了一套完整的API,让开发者可以轻松地在Nutz应用中操作Redis。集成过程包括添加依赖、配置Redis连接信息、编写代码进行数据操作等步骤。 4. **依赖包管理**:在集成Nutz ...

    nutz-1.r.61.r2.jar包

    3. "nutz-1.r.61-manual.pdf"和"nutz-1.r.61-manual.rtf"是用户手册的不同格式版本,提供了全面的框架使用指南,涵盖了从基础到高级的使用教程和示例,帮助开发者快速上手。 4. "manual"可能是手册的另一个链接或者...

    nutz-1.r.57的JDK1.5编译

    在本案例中,我们关注的是"Nutz-1.r.57的JDK1.5编译",这表明我们需要了解如何在较低的JDK版本环境下,编译和使用Nutz框架。 首先,我们要知道Nutz官方推荐使用JDK1.6进行编译,这是因为JDK1.6引入了许多对开发者...

    nutz-1.b.49-manual.pdf

    标题:"nutz-1.b.49-manual.pdf" 指出了文档是关于Nutz框架的官方手册,版本为1.b.49。手册这一名称通常意味着该文档是为用户提供详细的指导,帮助用户理解和使用该框架。 描述:"nutz 框架nutz-1.b.49-manual.pdf...

    nutz-jar包,20170512

    Nutz-jar包是Nutz框架的打包形式,通常包含了框架的核心类库以及相关的依赖,方便开发者在项目中快速引入和使用。 在20170512版本的Nutz-jar包中,我们可以预见到以下几个关键知识点: 1. **Nutz IoC容器**:Nutz ...

    nutz-1.a.25_jdoc.zip

    "nutz-1.a.25_jdoc.zip" 是Nutz框架1.a.25版本的Java文档压缩包,其中包含了详细的API参考和使用指南,帮助开发者理解和使用这个框架。 首先,让我们深入了解Nutz的各个组件: 1. **Nutz MVC**:Nutz 提供了一个轻...

    nutz-1.b.49.r2.zip

    Nutz是对于Java程序员来说,除SSH之外的另一个选择。当然,它是开源的,并且是完全免费的。同时也是商业友好的(Licensed under the Apache License, Version 2.0)。

Global site tag (gtag.js) - Google Analytics