userservice.java
来自「Struts2 + Spring JPA Hibernate demo.」· Java 代码 · 共 140 行
JAVA
140 行
package com.vegeta.service.user;
import java.util.Date;
import java.util.List;
import java.util.Vector;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
import javax.persistence.Query;
import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.transaction.annotation.Transactional;
import com.vegeta.model.user.User;
@Transactional
public class UserService implements IUserService {
protected Logger log = LogManager.getLogger(this.getClass().getName());
private EntityManagerFactory emf;
public UserService() {
emf = Persistence.createEntityManagerFactory("vegetaPU");
}
@SuppressWarnings("unchecked")
public List<User> findAll() {
log.debug("in the UserService findAll() method");
EntityManager entityMgr = emf.createEntityManager();
Query query = entityMgr.createQuery("from User");
return query.getResultList();
}
public User find(Integer id) {
log.debug("in the UserService find() method");
EntityManager entityMgr = emf.createEntityManager();
return entityMgr.find(User.class, id);
}
@SuppressWarnings("unchecked")
public User findByUserName(String username) {
log.debug("in the UserService findByUserName() method");
List<User> list = new Vector<User>();
User user = null;
EntityManager entityMgr = emf.createEntityManager();
Query query = entityMgr.createQuery("from User where username = ?");
query.setParameter(1, username);
try {
list = query.getResultList();
if (list.size() != 0) {
user = list.get(0);
}
} catch (Exception e) {
}
return user;
}
public boolean create(User user) {
log.debug("in the UserService create() method");
boolean result = false;
EntityManager entityMgr = emf.createEntityManager();
EntityTransaction tx = null;
try {
tx = entityMgr.getTransaction();
tx.begin();
user.setCreateddate(new Date());
entityMgr.persist(user);
tx.commit();
result = true;
} catch (Exception e) {
if (tx != null && tx.isActive())
tx.rollback();
}
return result;
}
public boolean remove(Integer id) {
log.debug("in the UserService remove() method");
boolean result = false;
EntityManager entityMgr = emf.createEntityManager();
EntityTransaction tx = null;
try {
tx = entityMgr.getTransaction();
tx.begin();
User user = (User) entityMgr.find(User.class, id);
entityMgr.remove(user);
tx.commit();
result = true;
} catch (Exception e) {
if (tx != null && tx.isActive())
tx.rollback();
e.printStackTrace();
}
return result;
}
public boolean update(User user) {
log.debug("in the UserService update() method");
boolean result = false;
EntityManager entityMgr = emf.createEntityManager();
EntityTransaction tx = null;
try {
tx = entityMgr.getTransaction();
tx.begin();
user.setChangeddate(new Date());
entityMgr.merge(user);
tx.commit();
result = true;
} catch (Exception e) {
if (tx != null && tx.isActive())
tx.rollback();
}
return result;
}
public boolean save(User user) {
boolean isCreated = false;
boolean isUpdated = false;
if (user.getId() == null) {
isCreated = create(user);
} else {
isUpdated = update(user);
}
return isCreated && isUpdated;
}
public static void main(String[] args) {
UserService service = new UserService();
System.out.println(service.findByUserName("traidot"));
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?