hibernate中使用sql

java 代码
  1. /*  
  2.      * hibernate中使用 sql语句  
  3.      */  
  4.     public void TestSQL(){   
  5.         String sql = "select * from user";   
  6.         Session session = factory.openSession();   
  7.         //这里使用的是SQLQuery   
  8.         SQLQuery sqlQuery = session.createSQLQuery(sql);   
  9.         //用addEntity方法将表和类对应起来,这样可以以类的方式来操作表   
  10.         sqlQuery.addEntity("user",User.class);   
  11.         List<user></user> users = sqlQuery.list();   
  12.         for(User user : users){   
  13.                
  14.             System.out.println(user.getName());   
  15.             System.out.println(user.getAge());   
  16.             System.out.println("---------------");   
  17.         }   
  18.            
  19.         session.close();   
  20.     }   
  21.        
  22.        
  23.     /*  
  24.      * 同样也可以通过将sql 语句写到文件当中  
  25.      * 与hql 的方式有一点不一样,  
  26.      * 如果要以对象的方式操作表,那么需要在配置文件中做  
  27.      * 表和类的对应  
  28.      */  
  29.        
  30.     public void testSQL1(){   
  31.         Session session = factory.openSession();   
  32.         //这里仍然用的Query,   
  33.         Query query = session.getNamedQuery("hello");   
  34.         List<user></user> users = query.list();   
  35.         for(User user : users){   
  36.             System.out.println(user.getName());   
  37.             System.out.println(user.getAge());   
  38.             System.out.println("------------------");   
  39.                
  40.         }          
  41.         session.close();   
  42.     }  

 

  <!--
         这里将sql语句写到配置文件当中,名字是可以随便取的
     不同于hql的是用的sql-query
     而且将类和表之间对应起来
     u这里是user的别名
    -->
xml 代码
  1. <hibernate-mapping>  
  2.     <class name="org.tie.User" table="user" catalog="tie">  
  3.         <id name="id" type="long">  
  4.             <column name="id" />  
  5.             <generator class="native" />  
  6.         </id>  
  7.         <property name="name" type="string">  
  8.             <column name="name" length="45" not-null="true" />  
  9.         </property>  
  10.         <property name="age" type="integer">  
  11.             <column name="age" not-null="true" />  
  12.         </property>  
  13.         <property name="addr" type="string">  
  14.             <column name="addr" length="45" not-null="true" />  
  15.         </property>  
  16.     </class>  
  17.       
  18.     <sql-query name="hello">  
  19.     select {u.*} from user u   
  20.     <return alias="u" class="org.tie.User"></return>  
  21.     </sql-query>     
  22.   
  23. </hibernate-mapping>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值