📄 articledaoimpl.java
字号:
package jaoso.news.dao.hibernate;
import jaoso.framework.dao.BaseDAO;
import jaoso.framework.dao.MyQuery;
import jaoso.framework.exception.DAOException;
import jaoso.framework.util.MyUtils;
import jaoso.news.dao.ArticleDAO;
import jaoso.news.domain.Article;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import java.io.Serializable;
/**
* @author Administrator
* @version 0.9.1
* @since 2004-5-29
* Article DAO, persistent Article.
*/
public class ArticleDAOImpl implements ArticleDAO {
//~ Static fields/initializers =============================================
/** log */
private static Log log = LogFactory.getLog(ArticleDAOImpl.class);
//~ Instance fields ========================================================
/** baseDAO */
private BaseDAO baseDAO;
//~ Constructors ===========================================================
/**
* Creates a new ArticleDAOImpl object.
*/
public ArticleDAOImpl() {
super();
}
//~ Methods ================================================================
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#getArticle(java.io.Serializable)
*/
public final Article getArticle(final Serializable id) {
return (Article) baseDAO.loadEntity(Article.class, id);
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#getArticleByName(java.lang.String)
*/
public final Article getArticleByDesc(final String name) {
if (MyUtils.isBlank(name)) {
return null;
}
Article[] articles = findArticle("from Article a where a.desc='" + name
+ "' order by a.desc");
if (MyUtils.isBlank(articles)) {
return null;
}
return articles[0];
}
/**
* @param dao dao
*/
public final void setBaseDAO(final BaseDAO dao) {
baseDAO = dao;
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#isExist(java.lang.String)
*/
public final boolean isExist(final String name) {
boolean flage = false;
if (MyUtils.isBlank(name)) {
return flage;
}
try {
// flage = getArticleByDesc(name) != null;
flage = ((Integer) baseDAO.findEntity(
"select count(*) from Article a where a.artTitle='" + name
+ "'")[0]).intValue() > 0;
} catch (DAOException e) {
log.error("Article isExist error: ", e);
}
return flage;
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#isExist(java.lang.String, java.io.Serializable)
*/
public final boolean isExist(final String name, final Serializable id) {
boolean flage = false;
if (MyUtils.isBlank(name) || (id == null)) {
return flage;
}
try {
/*
Article article = getArticleByDesc(name);
flage = (article != null) && !article.getId()
.equals(id);
*/
flage = ((Integer) baseDAO.findEntity(
"select count(*) from Article a where a.artTitle='" + name
+ "' and a.artId<>'" + id + "'")[0]).intValue() > 0;
} catch (DAOException e) {
log.error("Article isExist error: ", e);
}
return flage;
}
/**
* (non-Javadoc)
* @see jaoso.news.dao.ArticleDAO#count(jaoso.framework.dao.MyQuery)
*/
public final int count(final MyQuery query) {
return ((Integer) baseDAO.findEntity(query)[0]).intValue();
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#createArticle(jaoso.framework.domain.Article)
*/
public final void createArticle(final Article article) {
baseDAO.saveEntity(article);
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#findAllArticle()
*/
public final Article[] findAllArticle() {
return (Article[]) findArticle("from Article a order by a.desc");
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#findArticle(java.lang.String)
*/
public final Article[] findArticle(final String query) {
MyQuery myquery = new MyQuery();
myquery.setQueryString(query);
return findArticle(myquery);
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#findArticle(jaoso.framework.baseDAO.MyQuery)
*/
public final Article[] findArticle(final MyQuery query) {
Object[] os = baseDAO.findEntity(query);
if (MyUtils.isBlank(os)) {
return null;
}
Article[] entitys = new Article[os.length];
System.arraycopy(os, 0, entitys, 0, os.length);
return entitys;
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#removeArticle(jaoso.framework.domain.Article)
*/
public final void removeArticle(final Article article) {
article.getCatalog()
.getArticles()
.remove(article);
baseDAO.removeEntity(article);
}
/**
* (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#removeArticle(java.io.Serializable)
*/
public final void removeArticle(final Serializable id) {
if (id == null) {
throw new DAOException("id can't be null");
}
removeArticle(getArticle(id));
}
/**
* (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#removeArticle(java.io.Serializable[])
*/
public final void removeArticle(final Serializable[] ids) {
if (ids == null) {
throw new DAOException("id can't be null");
}
for (int i = 0, n = ids.length; i < n; i++) {
removeArticle(getArticle(ids[i]));
}
}
/** (non-Javadoc)
* @see jaoso.framework.baseDAO.ArticleDAO#updateArticle(jaoso.framework.domain.Article)
*/
public final void updateArticle(final Article article) {
baseDAO.updateEntity(article);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -