JPA 3

上级 534799ac
...@@ -233,7 +233,7 @@ public class JpaBaseService <T extends JpaBaseDomain> { ...@@ -233,7 +233,7 @@ public class JpaBaseService <T extends JpaBaseDomain> {
*/ */
public T get(String id) { public T get(String id) {
try { try {
log.debug("entityClass "+entityClass.toGenericString()+" , id "+id); log.debug("entityClass "+entityClass.toGenericString()+" , primaryKey "+id);
return getMapper().get(this.entityClass,id); return getMapper().get(this.entityClass,id);
} catch(Exception e) { } catch(Exception e) {
e.printStackTrace(); e.printStackTrace();
...@@ -241,6 +241,16 @@ public class JpaBaseService <T extends JpaBaseDomain> { ...@@ -241,6 +241,16 @@ public class JpaBaseService <T extends JpaBaseDomain> {
return null; 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 //TODO follow function for insert update and delete
/** /**
* insert new entity * insert new entity
...@@ -259,6 +269,30 @@ public class JpaBaseService <T extends JpaBaseDomain> { ...@@ -259,6 +269,30 @@ public class JpaBaseService <T extends JpaBaseDomain> {
return false; 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 * update entity
* @param entity * @param entity
......
...@@ -42,17 +42,46 @@ public class MyBatisTestRunner { ...@@ -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 @Test
public void get() throws Exception{ public void get() throws Exception{
_logger.info("get..."); _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); System.out.println("Students "+student);
_logger.info("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 @Test
public void remove() throws Exception{ public void remove() throws Exception{
......
...@@ -133,12 +133,9 @@ public class Students extends JpaBaseDomain implements Serializable{ ...@@ -133,12 +133,9 @@ public class Students extends JpaBaseDomain implements Serializable{
@Override @Override
public String toString() { public String toString() {
return "Students [stdNo=" + stdNo + ", stdName=" + stdName + ", stdgender=" + stdGender + ", stdAge=" + stdAge return "Students [id=" + id + ", stdNo=" + stdNo + ", stdName=" + stdName + ", stdGender=" + stdGender
+ ", stdMajor=" + stdMajor + ", stdClass=" + stdClass + "]"; + ", stdAge=" + stdAge + ", stdMajor=" + stdMajor + ", stdClass=" + stdClass + "]";
} }
} }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册