Hibernate学习笔记

 

Hibenate开发流程:

  1:添加相关jar包;

  2:src下增加hibernate.cfg.xml(文件内容如下);

 1 <?xml version=‘1.0‘ encoding=‘UTF-8‘?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3           "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4           "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 5 
 6 <!-- Generated by MyEclipse Hibernate Tools.                   -->
 7 <hibernate-configuration>
 8 
 9     <session-factory>
10     <!-- dialect 制定数据库的方言(不同数据库的SQL不同)
11         Oracle org.hibenate.dialect.Oracle9Dialect
12         MySql  org.hibenate.dialect.MySQLDialect
13         SQLServer org.hibenate.dialect.SQLServerDialect
14     
15      -->
16         <property name="dialect">
17             org.hibernate.dialect.MySQLDialect
18         </property>
19         
20     <!--  指定链接数据库的URL -->
21         <property name="connection.url">
22             jdbc:mysql://localhost:3306/testhib
23         </property>
24     <!-- 链接书库的用户名和密码 -->
25         
26         <property name="connection.username">root</property>
27         <property name="connection.password">root</property>
28         
29     <!--  指定数据库的JDBC驱动类-->
30         <property name="connection.driver_class">
31             com.mysql.jdbc.Driver
32         </property>
33 
34         
35     <!--  hbm2ddl的值有:
36         create-drop:运行时创建,运行完删除
37         create:每次运行都会删除已有的,在创建。测试时,使用create
38         update:映射文件和表。只会更新表中的数据
39         validate:查看映射文件和表是不是对应,如果不对应,会报错
40         
41     -->
42         <property name="hbm2ddl.auto">update</property>
43         
44     <!-- show_sql hibenate以日志的形式输出语句 -->
45         <property name="show_sql">true</property>
46     
47     <!--  告之对象的映射关系-->
48         <mapping resource="User.hbm.xml" />
49 
50     </session-factory>
51 
52 </hibernate-configuration>
View Code

 

  3:增加pojo和对应的映射文件;

  4:增加log4j配置(可选,设置调试信息和打印级别);

  5:开发程序。

    a:UibUtil

 1 import org.hibernate.Session;
 2 import org.hibernate.SessionFactory;
 3 import org.hibernate.cfg.Configuration;
 4 
 5 
 6 public class HibUtil {
 7     private static SessionFactory factory;
 8     
 9     private HibUtil(){
10         
11     }
12     
13     static {
14         Configuration configuration = new Configuration();
15         //configuration.configure("hibernate.cfg.xml");
16         configuration.configure();
17         factory = configuration.buildSessionFactory();
18         
19 
20     }
21     
22     public static SessionFactory getFactory(){
23         return factory;
24     }
25     
26     public static Session getSession(){
27         return factory.openSession();
28     }
29 }
View Code

    b:Test.java

 1 import java.util.Date;
 2 
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.Transaction;
 6 import org.hibernate.cfg.Configuration;
 7 
 8 
 9 public class Test {
10 
11     /**
12      * @param args
13      */
14     public static void main(String[] args) {
15         // TODO Auto-generated method stub
16         /*
17         Configuration conf = new Configuration().configure();
18         SessionFactory factory = conf.buildSessionFactory();
19         Session session = factory.openSession();
20         Transaction transaction = session.beginTransaction();
21         User user = new User("xiao", new Date());
22         session.save(user);
23         transaction.commit();
24         session.close();
25         */
26         
27         Session session = null;
28         Transaction tx = null;
29         try{
30             session = HibUtil.getSession();
31             tx = session.beginTransaction();
32             User u = (User) session.get(User.class, 5);//取得对象
33             u.setName("习大大");//修改属性
34             //session.delete(u);删除对象
35             session.update(u);//写入数据库
36             tx.commit();                                                            
37         }finally{
38             if(session != null){
39                 session.close();
40             }
41         }
42     }
43     
44 
45 }
View Code

 

 

     

  

 

Hibernate学习笔记,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。