Hibernate Generic DAO的介绍安装和使用

时间:2022-05-22 11:58:22

java 的包挺多,比c#多 . jar包一个名,解压缩出来又出来又叫另一个名 .搜索起来,内容都分散的很

http://mvnrepository.com  maven库搜索

com.googlecode.genericdao

Hibernate Generic DAO的介绍安装和使用

Hibernate Generic DAO的介绍安装和使用

com/googlecode/genericdao/search/1.2.0  这个是网站上的目录  就能找到源码包.从源码包便可以看出search 内又多少可用的方法了

Hibernate Generic DAO的介绍安装和使用

下载完源码包之后

Hibernate Generic DAO的介绍安装和使用

Hibernate Generic DAO的介绍安装和使用

把下载的源码包选上,就可以出现源码了.

今天实现一个多条件查询 .

1:请求接收逻辑内进行数据查询符合条件的进行处理

Filter.custom
Filter.equal
通过加载search 源码search 内方法很多.
Filter filtercar = Filter.custom( " userID='"+userid+"' AND carID='"+carid+"'"); //  =select from 表 where  **=** and  **=**

search.addFilter( filtercar );
List<Usercaridbindinfo> resultUsers = this.bindcaridService.search( search );
// 先检测用户是否存在,按照手机号码来检测
Search search = new Search();
Filter userMobile = Filter.equal( "userID", username );
search.addFilter( userMobile );
// 查询结果集
List<Userinfo> resultUsers = usersMgrService.search( search );
  // 查询用户是否有效
Usersinfo resultUsers = usersInfoService.findById( paramVO.getUsersId() );

2:service 层

@Override
public List<Usercaridbindinfo> search(ISearch search) {
// TODO Auto-generated method stub
return usercaridbindinfodao.search( search );
}

3:dao层

public interface UserCaridbindinfoDao  extends GenericDAO<Usercaridbindinfo, Long>
{
int DeleteCarid(String sql);
}

dao层实现

@Repository
public class UserCaridbindinfoDaoImpl extends BaseDAO<Usercaridbindinfo, Long> implements UserCaridbindinfoDao
{
Session session ;
/**
* 根据条件解绑车牌
*/
@Override
public int DeleteCarid(String sql )
{
try{
session = this.getSession();
Query query = session.createSQLQuery( sql ).addEntity( Usercaridbindinfo.class );
int result=query.executeUpdate();
return result; } catch (Exception e ){
e.printStackTrace();
return ;
} }
}

4:model层 当前都一部分代码

@Entity
@NamedQuery(name="Usercaridbindinfo.findAll", query="SELECT u FROM Usercaridbindinfo u")
public class Usercaridbindinfo implements Serializable {
private static final long serialVersionUID = 1L; @Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id; private String carid; private String carlogo; private String chejiaid;

添加一个新功能,基本上都是这4个步骤.  添加起来代码量还是有的.