mysql查找语句java_java mysql查询语句怎么写

第一种方式:hql(hibernate query languge,hibernate 查询语言)查询

是一种面向对象的查询语言,其中没有表和字段的概念,只有类、对象和属性的概念,hql 是应用较为广泛的方式

语法:[select/update/delete……] from entity [where……] [group by……] [having……] [order by……]

(1).没使用spring框架的写法:

使用hql需要四步

得到session、编写hql语句、创建query对象(query接口是hql 查询接口。它提供了各种的查询功能)、执行查询,得到结果

sessionfactory =

new configuration().configure().buildsessionfactory();

session = sessionfactory.opensession();

string hql = “from street”;

query query = session.createquery(hql);

listlist = query.list();

(2).使用spring框架的写法:

string querystring = "select form entity ....";

list list=gethibernatetemplate().find(querystring);

第二种方式:criteria 查询

criteria 查询采用面向对象方式封装查询条件,又称为对象查询;

就是对sql 语句进行封装,采用对象的方式来组合各种查询条件

由hibernate 自动产生sql 查询语句

(1).没使用spring框架的写法;

criteria由hibernate session进行创建

sessionfactory sessionfactory = new configuration().configure()

.buildsessionfactory();

session session = sessionfactory.opensession();

criteria criteria = session.createcriteria(user.class);

list result = criteria.list();

iterator it = result.iterator();

(2)使用spring框架的写法:

import org.hibernate.criterion.detachedcriteria;

detachedcriteria criteria=detachedcriteria.forclass(objectentity.class);

criteria.add(restrictions.eq("propertyname", propertyvalue));

list result=gethibernatetemplate().findbycriteria(criteria);

第三种方式:使用sql语句查询(以下都是使用了spring框架的写法)

1).这是把执行结果放到了一个类里:(这个类通常使用vo实体,vo实体一般就只用来接收查询结果)

list list = gethibernatetemplate().executefind(new hibernatecallback() {

public object doinhibernate(session session) throws hibernateexception, sqlexception {

stringbuffer hqlbuffer = new stringbuffer("");

hqlbuffer.append("select column_name from ...");//里面是sql语句

sqlquery sqlquery = session.createsqlquery(hqlbuffer.tostring());

sqlquery.addscalar("propertyname",hibernate.string);//该propertyname是 objectvo实体的一个属性

sqlquery.setresulttransformer(transformers.aliastobean(objectvo.class));

list list = sqlquery.list();

return list;//此处list集合中存放的是objectvo对象

}

});

2).返回结果放到list中的:

final string querystring = "";//sql语句

list resultlist=gethibernatetemplate().executefind(new hibernatecallback() {

public list doinhibernate(session session) throws hibernateexception, sqlexception {

sqlquery sqlquery = session.createsqlquery(querystring);

list list=sqlquery.executeupdate();

return list;

}

});

3).无返回结果:

final string querystring = "";//sql语句

gethibernatetemplate().executefind(new hibernatecallback() {

public object doinhibernate(session session) throws hibernateexception, sqlexception {

sqlquery sqlquery = session.createsqlquery(querystring);

sqlquery.executeupdate();

return null;

}

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值