codecamp

Hello world

检查运行环境

  1. 首先,你必须安装 JDK 1.6
  2. 其次,为了运行 Nutz.Dao,你必须要有一个数据库软件:
    1. Mysql,Postgresql, SQLServer, Oracle, DB2 , H2都可以。
  3. 建立一个普通的 Java 项目:
    1. 你可以采用任何自己觉得舒适的 IDE 环境,或者编辑器。
    2. 你要将数据库的 JDBC Driver 和你喜欢的连接池加入项目的 classpath。
  4. 在数据库里建立一张你自己的数据表, 这里我们用 t_person 来举例:
  5. 初学推荐看DaoUp类,及其文档DaoUpTest(在github源码中有)
  6. 如果你完全不知道神马情况,建议看nutzbook

创建数据库

此处代码适用于PostgreSQL,如果你使用了不同的数据库,请自行修改相应建库语句:

CREATE TABLE t_person (
  id  SERIAL PRIMARY KEY,
  name  VARCHAR(50) NOT NULL UNIQUE,
  age INT
);
//对于最新版的Nutz,请直接使用dao.create(XXX.class, false)来完成建表

创建 POJO

在 Java 项目中建立一个POJO,比如 com.zzh.demo.Person :

import org.nutz.dao.entity.annotation.*;

@Table("t_person")   // 声明了Person对象的数据表
public class Person { //无需继承任何Nutz的类

    @Id       // 表示该字段为一个自增长的Id,注意,是数据库表中自增!!
    private int id;

    @Name    // 表示该字段可以用来标识此对象,或者是字符型主键,或者是唯一性约束
    private String name;

    @Column	  // 表示该对象属性可以映射到数据库里作为一个字段
    private int age;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

}

创建 main 函数

随便建立一个有 main 函数的类,在 main 函数里这么写:

//实际使用的话必须单例或使用DaoUp类(推荐),如果是Mvc中使用, 请使用注入,或Mvcs.ctx().getDefaultIoc().get(Dao.class)获取
Dao dao = new NutDao(dataSource);
Person p = new Person();
p.setName("ABC");
p.setAge(20);
dao.insert(p);
  • 执行完毕后,在数据表中会多出一条记录。
  • 如果你不知道如何创建 Datasource,请参看 附录:如何创建 Datasource
  • 这个例子足够作为 Hello World 了, 祝你玩的开心 :)

如何进阶

在你看完上述这个例子以后,你可以看看 Nutz.Dao 的基本操作,这篇短短的文章会让你很快对 Nutz.Dao 建立一个大体 上的印象。但是实际上,你的 POJO 在真正的项目中可能不会这么简单,你需要操作也不会只是增删改查。下面有三个建议:

  • Nutz.Dao 全部的文档并不很多,花上1-2个晚上,你就可以看完。
  • 你如果想快速了解 Nutz.Dao 到底支持多少注解,请看这里
  • 在 Nutz 的 Demo Site 上,我们也会不断增加有针对性的演示,你可以 访问它的首页,看看里面有没有你需要的例子代码
应用启动以及关闭时的额外处理
Dao 接口的基本操作
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

表达式引擎

maplist结构

图像处理小军刀

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }