1. 程式人生 > >Nutz框架學習(一)

Nutz框架學習(一)

dao層學習

1.建立 POJO(java bean實體類)
在 Java 專案中建立一個POJO,比如 com.zzh.demo.Person :
package com.dodoke.bean;

import java.util.Date;

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

@Table("t_test")     // 聲明瞭Test物件的資料表
public class Test {
	@Id    // 表示該欄位為一個自增長的Id,注意,是資料庫表中自增!!
	private int id;
	@Column    // 表示該欄位可以用來標識此物件,或者是字元型主鍵,或者是唯一性約束(與資料庫名字相同)
	private String name;
	@Column    // 表示該欄位可以用來標識此物件,或者是字元型主鍵,或者是唯一性約束(與資料庫名字相同)
	private String code;
//	@Column(hump=true)    humb是否把欄位的命名方式從駝峰式大小寫(camelCase)變成蛇底式,true: 蛇底式小寫,false: 駝峰式大小寫(snake_case)。(與資料庫名字不相同)
	@Column(value="create_date")(與資料庫名字不相同)
	
// 省略getter/setter
}
2.建立一個方法(資料庫的增刪改查操作)
package com.dodoke.test;

import java.util.Date;
import java.util.List;

import org.nutz.dao.Cnd;
import org.nutz.dao.Dao;
import org.nutz.dao.impl.NutDao;
import org.nutz.dao.impl.SimpleDataSource;
import org.nutz.dao.pager.Pager;

import com.dodoke.bean.Test;

public class Client {
	public static void main(String[] args) {
		// 建立一個數據源
		SimpleDataSource dataSource = new SimpleDataSource();
		dataSource.setJdbcUrl("jdbc:mysql://127.0.0.1/nutz_test");//資料庫地址
		dataSource.setUsername("root");//資料庫帳號
		dataSource.setPassword("123456");//資料庫密碼

		// 建立一個NutDao例項,在真實專案中, NutDao通常由ioc託管, 使用注入的方式獲得.
		Dao dao = new NutDao(dataSource);

		// 建立表
		dao.create(Test.class, false); // false的含義是,如果表已經存在,就不要刪除重建了.

//		Test test = new Test();
//		test.setName("Tom");
//		test.setCode("001");
//		test.setCreateTime(new Date());
		
		// 新增操作
//		dao.insert(test);
		
		// 查詢操作
//		Test t = dao.fetch(Test.class,1);
//		System.out.println(t.getName());
		
		// 更新操作
//		Test t1 = dao.fetch(Test.class,Cnd.where("code","=","001"));
//		t1.setName("Jack");
//		dao.update(t1);
		
		// 批量新增
//		for(int i = 0; i <= 100; i++) {
//			Test test = new Test();
//			test.setName("Tom" + i);
//			test.setCode(i + "");
//			test.setCreateTime(new Date());
//			dao.insert(test);
//		}
//		
		//查所有
//		List<Test> ts = dao.query(Test.class, Cnd.where("id",">",100).and("name","like","%8%").desc("id"));
//		for (Test test : ts) {
//			System.out.println(test.getName());
//		}
		
		// 根據id刪除
//		dao.delete(Test.class,1);
		// 根據條件刪除
//		dao.clear(Test.class, Cnd.where("id",">",100).and("name","like","%8%"));
		
		// 分頁
//		Pager pager = dao.createPager(1, 10);
//		List<Test> ts = dao.query(Test.class, Cnd.where(null).asc("id"), pager);
//		for (Test test : ts) {
//			System.out.println(test.getName());
//		}
	}
}

在這裡插入圖片描述