JPA 3

上级 534799ac
......@@ -233,7 +233,7 @@ public class JpaBaseService <T extends JpaBaseDomain> {
*/
public T get(String id) {
try {
log.debug("entityClass "+entityClass.toGenericString()+" , id "+id);
log.debug("entityClass "+entityClass.toGenericString()+" , primaryKey "+id);
return getMapper().get(this.entityClass,id);
} catch(Exception e) {
e.printStackTrace();
......@@ -241,6 +241,16 @@ public class JpaBaseService <T extends JpaBaseDomain> {
return null;
}
public T find(Class<T> entityClass,Object primaryKey) {
try {
log.debug("entityClass "+entityClass.toGenericString()+" , primaryKey "+primaryKey);
return getMapper().get(entityClass,primaryKey.toString());
} catch(Exception e) {
e.printStackTrace();
}
return null;
}
//TODO follow function for insert update and delete
/**
* insert new entity
......@@ -259,6 +269,30 @@ public class JpaBaseService <T extends JpaBaseDomain> {
return false;
}
/**
* JPA persist
* @param entity
* @return boolean
*/
public boolean persist(T entity) {
return insert(entity);
}
/**
* JPA merge
* @param entity
* @return boolean
*/
public boolean merge(T entity) {
T loadedEntity = load(entity);
if(loadedEntity == null) {
return insert(entity);
}else {
return update(entity);
}
}
/**
* update entity
* @param entity
......
......@@ -42,17 +42,46 @@ public class MyBatisTestRunner {
}
@Test
public void merge() throws Exception{
_logger.info("merge...");
Students student=new Students();
//student.setId("10024");
student.setStdNo("10024");
student.setStdGender("M");
student.setStdName("司马昭");
student.setStdAge(20);
student.setStdMajor("政治");
student.setStdClass("4");
service.merge(student);
Thread.sleep(1000);
_logger.info("insert id " + student.getId());
service.remove(student.getId());
}
@Test
public void get() throws Exception{
_logger.info("get...");
Students student=service.get("921d3377-937a-4578-b1e2-92fb23b5e512");
Students student=service.get("317d5eda-927c-4871-a916-472a8062df23");
System.out.println("Students "+student);
_logger.info("Students "+student);
}
@Test
public void find() throws Exception{
_logger.info("find...");
Students student=service.find(Students.class,"317d5eda-927c-4871-a916-472a8062df23");
System.out.println("Students "+student);
_logger.info("Students "+student);
}
@Test
public void remove() throws Exception{
......
......@@ -133,12 +133,9 @@ public class Students extends JpaBaseDomain implements Serializable{
@Override
public String toString() {
return "Students [stdNo=" + stdNo + ", stdName=" + stdName + ", stdgender=" + stdGender + ", stdAge=" + stdAge
+ ", stdMajor=" + stdMajor + ", stdClass=" + stdClass + "]";
return "Students [id=" + id + ", stdNo=" + stdNo + ", stdName=" + stdName + ", stdGender=" + stdGender
+ ", stdAge=" + stdAge + ", stdMajor=" + stdMajor + ", stdClass=" + stdClass + "]";
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册