1)java对象
public class SplashItem {
public String url;
public long enabledTime;
public long splashId;
public String eTag;
public SplashItem(long splashId, long enabledTime) {
this.splashId = splashId;
this.enabledTime = enabledTime;
}
public SplashItem(long splashId, Calendar enabledTime, String eTag) {
this.splashId = splashId;
this.enabledTime = enabledTime.getTimeInMillis();
this.eTag = eTag;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public long getEnabledTime() {
return enabledTime;
}
public void setEnabledTime(long enabledTime) {
this.enabledTime = enabledTime;
}
public long getSplashId() {
return splashId;
}
public void setSplashId(long splashId) {
this.splashId = splashId;
}
public String geteTag() {
return eTag;
}
public void seteTag(String eTag) {
this.eTag = eTag;
}
}
2)Dao中的代码
@Query(value = "select new com.cvt.smarthome.application.advertisement.entity.apiEntity.SplashItem(t.id,t.enabledTime,t.eTag) from SplashSetting t where t.terminalType.id=?1 and t.appkey =?2 and t.resolutionWidth =?3 and t.resolutionHeight=?4 order by t.enabledTime desc ")
public List<SplashItem> find2LastSplash(Long terminalTypeId, String appkey, Long resolutionWidth,
Long resolutionHeight, Pageable pageable);
注意:
a)@query中的SplashItem必须带上包名
b) Dao 中的new com.cvt.smarthome.application.advertisement.entity.apiEntity.SplashItem(t.id,t.enabledTime,t.eTag)和java类对象中的构造函数 public SplashItem(long splashId, Calendar enabledTime, String eTag) 对应。
分享到:
相关推荐
在DAO层的封装中,我们需要创建一个通用的DAO接口,如`BaseDAO<T>`,然后为每种实体类创建具体的DAO实现。使用Spring的`@Repository` Annotation标记DAO实现,使其能够被Spring管理。在这个接口中,我们可以定义一个...
本文将深入探讨如何将数据库中的表行转换为DAO实体类,并以List形式返回,同时介绍名称匹配和自动赋值的过程。 首先,DAO实体类是Java编程中表示数据库表结构的对象,它通常包含对应于数据库表字段的属性,并且提供...
这个工具的核心功能是自动根据数据库中的表结构生成对应的实体类(Entity)和数据访问对象(DAO)类。下面我们将深入探讨这个工具的相关知识点。 1. **实体类(Entity)**:在Java开发中,实体类通常用于表示数据库...
为了实现更好的解耦,可以定义一个DAO接口,然后为每个数据表或实体类提供一个具体的实现。这样,业务层只需要依赖接口,而具体的数据访问逻辑则由实现类完成。 8. **工厂模式** 为了方便DAO对象的创建和管理,...
例如,`BaseDao<T>`,其中T代表实体类类型,这样就可以在不改变基本结构的情况下,为不同的实体类创建DAO。 6. **查询方法**: - 使用HQL(Hibernate Query Language)或Criteria API编写查询,可以方便地执行复杂...
`findAll()`返回所有实体;还可以实现自定义的HQL(Hibernate Query Language)查询和Criteria API查询。 - **分页查询**:使用Criteria API或HQL实现分页查询,结合Page对象存储查询结果和分页信息。 3. **事务...
3. **Entity**:实体类代表数据库中的表,它的属性对应表的字段。S2Dao支持自动映射,无需手动编写getter和setter方法。 **功能特性:** 1. **自动映射**:S2Dao能够自动将查询结果转换为Java对象,无需编写繁琐的...
在JPA和Hibernate中,可以直接返回查询结果集,但如果需要定制化包装,可以自定义`QueryResult`类来实现。 综上所述,`JPA(hibernate) Dao 和 DaoSupport`涉及到Java持久化技术,主要关注如何通过面向对象的方式...
MyBatis支持多种方式实现分页,如使用自定义插件、PageHelper库或者在Mapper XML文件中手动编写分页SQL。分页的核心在于获取正确的数据范围和计算总页数。分页参数通常包括当前页码和每页显示的记录数,这些参数可以...
在本项目中,"mybatis最终工具+pojo+dao+mapper一键生成" 提供了一个自动化工具,能够快速生成MyBatis相关的实体类(POJO)、数据访问对象(DAO)以及映射器接口(Mapper)等核心组件,极大地提高了开发效率。...
- **泛型**:使用泛型可以确保DAO方法返回的对象与实体类类型一致,提高了代码的类型安全。 - **事务管理**:通用DAO通常不包含事务控制,需要在服务层(Service Layer)进行事务的开启、提交和回滚。 - **性能优化*...
1. **Domain(领域模型)**:在Java开发中,domain对象通常被称为实体类(Entity Class),它们是业务逻辑中的核心,代表了应用中的数据模型。例如,如果你有一个用户表,对应的domain类就是User,包含与表字段相...
标题中的"SSH自定义分页"指的是在使用Spring、Struts2和Hibernate这三大主流Java Web框架(简称SSH)开发项目时,如何实现对数据的分页显示。SSH框架组合在一起,提供了强大的后端处理能力,但默认并不直接支持复杂...
使用泛型确保DAO方法返回的结果类型与实体类匹配。同时,定义ResultMap来映射查询结果到实体类,可以处理复杂的数据类型和关联关系。 4. **Mapper代理**: Mybatis使用`SqlSession`和`MapperFactoryBean`来创建...
通过泛型机制,`IBATISDAO`可以适应不同的实体类,实现了对多种数据库表的操作。 **3. 使用IBATISDAO进行数据库操作** - **查询操作**:`selectOne()`用于根据主键获取单个对象,`selectAll()`则返回所有记录。...
4. **结果集处理**:DAO返回的结果集应当封装成一个对象,例如一个List或自定义的Pojo集合,然后传递给模型对象或者直接放入ValueStack供视图层使用。 5. **视图展示**:在JSP或Freemarker等视图层,展示分页数据并...
在IT行业中,自定义框架是开发者为了满足特定项目需求,基于现有的开源框架进行扩展或重构而创建的。这里我们关注的是如何使用自定义框架来实现用户管理中的基本操作:增删改查。这个主题通常涉及到Web开发,尤其是...
`save`方法用于保存新实体到数据库,`update`用于更新已有实体,`deleteById`根据ID删除实体,`findById`通过ID查询实体,而`findAll`则返回所有实体的列表。 接下来,我们需要实现这个接口。实现通常会依赖于JDBC...
代码生成器会根据数据库表结构自动创建实体类,包括属性(字段)及其数据类型,以及getter和setter方法。这样开发者无需手动编写这些基础代码,可以更专注于业务逻辑。 2. **DAO(Data Access Object)层**: DAO...
4. **封装分页结果**:返回的分页结果通常会包含当前页数据、总记录数、总页数等信息,可以自定义一个类来封装这些信息,例如`PageResult<T>`,其中`T`为具体的数据类型。 下面是一个简单的Java分页工具类实现示例...