
com.github.jnoee.xo.jpa.dao.DaoUtils Maven / Gradle / Ivy
The newest version!
package com.github.jnoee.xo.jpa.dao;
import java.io.Serializable;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* Dao组件工具类。
*/
public class DaoUtils implements ApplicationContextAware {
private static ApplicationContext context;
/**
* 获取实体对象。
*
* @param 实体类型
* @param entityClass 实体类
* @param id 实体ID
* @return 返回对应的UuidEntity对象。
*/
public static T getEntity(Class entityClass, Serializable id) {
return getDao(entityClass).get(id);
}
/**
* 获取指定实体类的Dao组件。
*
* @param 实体类型
* @param entityClass 实体类
* @return 返回对应实体类的Dao组件。
*/
@SuppressWarnings("unchecked")
public static Dao getDao(Class entityClass) {
String daoName = entityClass.getSimpleName();
char[] chars = daoName.toCharArray();
chars[0] = Character.toLowerCase(chars[0]);
daoName = new String(chars) + "Dao";
return (Dao) context.getBean(daoName);
}
@Override
public synchronized void setApplicationContext(ApplicationContext context) {
DaoUtils.context = context;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy