1. 程式人生 > 實用技巧 >nutz入門dao層案例

nutz入門dao層案例

DAO層學習

拿程式碼去玩一遍,保證你學的很快

1、首先是建立一個nutz_test資料庫

2、建立一個pojo(實體層)

在 Java 專案中建立一個POJO,比如 com.zzh.demo.Person :

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")//(與資料庫名字不相同) private Date createTime; }

3、下面是簡單的測試

package sm.lxy.test;

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 sm.lxy.pojo.Test;

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

/**
 * @日復一日
 * @進入程式碼世界
 * @SmallNew
 */
public
class Client { public static void main(String[] args) { //建立一個數據源 SimpleDataSource dataSource = new SimpleDataSource(); dataSource.setJdbcUrl("jdbc:mysql://IP地址/資料庫名");//資料庫地址 dataSource.setUsername("root");//資料庫賬號 dataSource.setPassword("123456");//資料庫密碼 //建立一個NutDao例項,在真是專案中,NutDao通常由ioc託管, 使用注入的方式獲得. Dao dao=new NutDao(dataSource); // Test test = new Test(); // test.setName("Tom"); // test.setCode("003"); // 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")); // test1.setName("Jack"); // ②Test test1 = new Test(1,"Tom","000001",new Date()); // dao.update(test1); // 批量新增 // for(int i = 0; i <= 10; i++) { // Test test1 = new Test(); // test1.setName("SmallNew" + i); // test1.setCode(i + ""); // test1.setCreateTime(new Date()); // dao.insert(test1); // } // //查所有 //查詢語句為:"SELECT * FROM nutz_test WHERE id<100 AND name LIKE '%8%' ORDER BY id DESC // 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",">",10).and("name","like","%m%").and("code","=","9").or("code","=","10")); // 分頁 // Pager pager = dao.createPager(1, 5); // List<Test> ts = dao.query(Test.class, Cnd.where(null).asc("id"), pager); // for (Test test : ts) { // System.out.println(test.getName()); // } } }