Nutz框架學習(一)
阿新 • • 發佈:2018-12-14
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()); // } } }