package org.n3r.eql.pojo; import org.junit.BeforeClass; import org.junit.Test; import org.n3r.eql.Eql; import org.n3r.eql.pojo.annotations.EqlColumn; import org.n3r.eql.pojo.annotations.EqlId; import org.n3r.eql.pojo.annotations.EqlSkip; import org.n3r.eql.pojo.annotations.EqlTable; import java.util.List; import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; public class POJOTest { @BeforeClass public static void beforeClass() { new Eql("mysql").execute("drop table if exists personx", "create table personx (id varchar(100), name varchar(100), age int)"); } @Test public void test1() { Personx person = new Personx(); person.setId("1002"); person.setName("bingoo"); person.setAge(30); new Pql("mysql").delete(person); new Pql("mysql").create(person); // insert into person(id,name,age) values(?,?,?) person.setName("huang"); int effectedRows = new Pql("mysql").update(person); // update person set name = ?, age = ? where id = ? assertThat(effectedRows, is(1)); effectedRows = new Pql("mysql").update(person, "name");// update person set name = ? where id = ? assertThat(effectedRows, is(1)); Personx queryPerson = new Personx(); List<Personx> resultPerson = new Pql("mysql").read(queryPerson); // select id,name,age from person where id = ? queryPerson.setId("1002"); effectedRows = new Pql("mysql").delete(queryPerson); // delete from person where id = ? assertThat(effectedRows, is(1)); } @Test public void testAnnotation() { Person2 person = new Person2(); person.setPid("1002"); person.setPname("bingoo"); person.setAge(30); // delete from person where id = ? new Pql("mysql").delete(person); // insert into person(id,name,age) values(?,?,?) new Pql("mysql").create(person); person.setPname("huang"); person.setAge(null); // update person set age = ? where id = ? int effectedRows = new Pql("mysql").update(person); assertThat(effectedRows, is(1)); Person2 queryPerson = new Person2(); queryPerson.setPid("1002"); // select id,name,age from person where id = ? List<Person2> resultPerson = new Pql("mysql").read(queryPerson); assertThat(resultPerson.size(), is(1)); effectedRows = new Pql("mysql").delete(queryPerson); assertThat(effectedRows, is(1)); } public static class Personx { private String id; private String name; private int age; public String getId() { return id; } public void setId(String 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; } } @EqlTable(name = "personx") public static class Person2 { @EqlId @EqlColumn(name = "id") private String pid; @EqlColumn(name = "name") private String pname; private Integer age; @EqlSkip private String remark; public String getPid() { return pid; } public void setPid(String pid) { this.pid = pid; } public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } } }