public class Test01 {
public static void main(String[] args) {
Configuration cfg=new Configuration().configure();
SessionFactory sf=cfg.buildSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
//Group gp=new Group();
//gp.setName("java19班级");
//session.save(gp); //id
//第一种查询方式
/**
Criteria criteria=session.createCriteria(Group.class);
criteria.add(Restrictions.or(Restrictions.like("name","%3%"), Restrictions.idEq(1)));
criteria.add(Expression.like("name","%3%")).add(Expression.idEq(2)).addOrder(Order.desc("name"));
*
*/
//第二种查询方式
//Query query=session.createQuery("from Group where name like '好%' ");
//第三种 1 本地sql方式查询
//Query query=session.getNamedQuery("findByName");
//第三种 2 本地sql方式查询
String sql="SELECT l.* FROM tb_group l where l.id=? or l.name like ?";
Query query=session.createSQLQuery(sql).addEntity("l",Group.class);
query.setInteger(0, 1);
query.setString(1, "3%");
List<Group> ls=query.list();
for (Group gp : ls) {
System.out.println(gp.getName());
}
session.beginTransaction().commit();
session.close();
sf.close();
}
}
//////////////////////////////////
<sql-query name="findByName1">
{call findByNames(?,?)}
<!--
DELIMITER $$
DROP PROCEDURE IF EXISTS findByNames$$
CREATE PROCEDURE findByNames( IN id INT,IN namess VARCHAR(20))
BEGIN
SELECT l.* FROM tb_group l WHERE l.id=id AND l.name=namess;
END$$
DELIMITER ;
-->
<return class="com.mwl.Group"/>
</sql-query>