首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

数据库访问层Dao业务逻辑初记录(二)

2013-07-01 
数据库访问层Dao业务逻辑小记录(二)我比较喜欢海蓝色,海蓝天蓝,心情海蓝,希望我坚持下来,以前没有即时的记

数据库访问层Dao业务逻辑小记录(二)

我比较喜欢海蓝色,海蓝天蓝,心情海蓝,希望我坚持下来,以前没有即时的记录,过去这么久了,才拼命的去回忆,思路会有断痕,有褶皱。

在具体实现由Dao层定义的接口时,我采用的是JPA规范,JPA全称叫Java持久化API,百度百科说JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。理解它,需要实践它。

1.同样在base包下新建抽象类DaoSupport.class,并实现接口Dao。由于是使用了JPA规范,所以加入注解Transicational,作用是为类中的方法加入事物。

?

数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二) entityName); return entityName; }

7.拼凑order by 语句

?

数据库访问层Dao业务逻辑初记录(二)); // 拼凑order by 语句 for (String key : orderby.keySet()) { sql.append("o.").append(key).append(" ") .append(orderby.get(key)).append(","); } sql.deleteCharAt(sql.length() - 1); return sql.toString(); } return ""; }

8.动态设置参数

?

数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)null ? "" : "where " + whereJpql) + buildOrderby(orderby); String sql2 = "select count(o) from " + entityName + " o " + (whereJpql == null ? "" : "where " + whereJpql); Query query = em.createQuery(sql); setParamters(query, params); if(startIndex != -1 && maxCount != -1) { query.setFirstResult(startIndex); query.setMaxResults(maxCount); } qr.setResults(query.getResultList()); query = em.createQuery(sql2); setParamters(query, params); qr.setCount((Long) query.getSingleResult()); return qr; }

?

10.重载方法调用

?

数据库访问层Dao业务逻辑初记录(二)数据库访问层Dao业务逻辑初记录(二)View Code
public interface StyleService extends DAO{}@Service("productStyleService")@Transactionalpublic class StyleServiceBean extends DaoSupport implements StyleService{}

?

这次note暂时到这里吧,祝我顺利哈。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

热点排行