`
Supanccy2013
  • 浏览: 213956 次
  • 性别: 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-1.r.60.jar

    nutz-1.r.60.jar

    nutz-1.b.43-jdk5.jar

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

    nutz-1.b.52.zip

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

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

    java 框架 nutz-1.b.48-manual.pdf

    nutz-1.r.62.jar

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

    nutz-1.b.43-jdk6.jar

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

    nutz-master.zip

    Nutz -- 不只是Web框架(Mvc/Ioc/Aop/Dao/Json) for ALL Java developer

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

    nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册 nutz 使用手册

    nutz-1.r.61-发布包

    nutz-1.r.61-发布包

    nutz-1.b.49-manual.pdf

    nutz 框架nutz-1.b.49-manual.pdf,配置简单易懂

    nutz-1.b.49.r2.zip

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

    nutz-1.r.62.zip

    nutz-1.r.62.zip 强大的Java框架,里面有许多好玩的方便的约定配置,有兴趣的可以下载再看看

    nutz-1.a.25_jdoc.zip

    nutz-1.a.25_jdoc.zip nutz-1.a.25_jdoc.zipnutz-1.a.25_jdoc.zip

    Nutz-1.b.38

    Spring 里采用 Nutz.Dao ,又比如在 Nutz.Ioc 里使用 Hibernate 等整 -- 它所有功能均不依赖第三方 jar 文件。这就意味着:如果一个 Web 应用,你在 WEB-INF/lib 下只 需要放置一个 nutz.jar 就够了当然你要使用其它...

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

    nutz-1.r.61.r2-发布包_修正JDK6兼容性

    nutz-jar包,20170512

    nutz-jar包,20170512

    nutz-1.r.65.zip

    nutzboot1.65版jar包...............................................................................................希望对你有用

    wendal-nutz-master.zip

    希望可以帮到大家,完成一个简单的NUTZ的学习。

    nutz-1.r.58

    nutz框架jar包

    nutz-1.b.40-manual.pdf

    Nutz 当然,它是开源的,并且是完全免费的,同时也是商业友好的(Licensed under the Apache License, Version 2.0)。 最新的源码托管地址已经转移到 Github 上 同传统的 SSH 相比,它具备如下特点:¶•轻 -- 当前...

Global site tag (gtag.js) - Google Analytics