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 + -
显示快捷键?