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());
// }
}
}
