• [Hibernate] Hibernate连接mysql示范


    今天用了一下java的数据库持久化-业务的hibernate框架。下面给出hibernate 连接mysql数据库示例

    建表结构如下

    mysql> desc test; +----------+--------------+------+-----+---------+----------------+ | Field    | Type         | Null | Key | Default | Extra          | +----------+--------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | username | varchar(100) | NO   |     | NULL    |                | +----------+--------------+------+-----+---------+----------------+ 2 rows in set (0.00 sec)

    mysql>

    hibernate配置文件 hibernate.cfg.xml

    1. <?xmlversion='1.0'encoding='UTF-8'?> 
    2. <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
    3. <hibernate-configuration> 
    4. <session-factory> 
    5. <propertyname="show_sql">true</property> 
    6. <propertyname="dialect">org.hibernate.dialect.MySQLDialect</property> 
    7. <propertyname="connection.driver_class">com.mysql.jdbc.Driver</property> 
    8. <propertyname="connection.url">jdbc:mysql://192.168.25.152/test</property> 
    9. <propertyname="connection.username">这里写用户名</property> 
    10. <propertyname="connection.password">密码</property> 
    11. <mappingresource="user.hbm.xml"/> 
    12. </session-factory> 
    13. </hibernate-configuration> 

    表映射 user.hbm.xml

    1. <?xmlversion='1.0'encoding='UTF-8'?> 
    2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
    3. <hibernate-mapping> 
    4. <classname="com.TestDb"table="test"> 
    5.     <idname="id"column="id"> 
    6.         <generatorclass="increment"/> 
    7.     </id> 
    8.     <propertyname="username"column="username"/> 
    9. </class> 
    10. </hibernate-mapping> 

    表映射类

    1. package com; 
    2.  
    3. /**
    4. * Created by IntelliJ IDEA.
    5. * User: Administrator
    6. * Date: 2006-2-6
    7. * Time: 22:10:05
    8. * To change this template use File | Settings | File Templates.
    9. */ 
    10. publicclass TestDb { 
    11. private String username; 
    12. private Long id; 
    13.  
    14. public Long getId() { 
    15. return id; 
    16.  
    17. publicvoid setId(Long id) { 
    18. this.id = id; 
    19.  
    20. public String getUsername() { 
    21. return username; 
    22.  
    23. publicvoid setUsername(String myname) { 
    24. this.username = myname; 

    测试类

    1. package com; 
    2.  
    3.  
    4. import java.util.List; 
    5.  
    6. import org.hibernate.Query; 
    7. import org.hibernate.Session; 
    8. import org.hibernate.SessionFactory; 
    9. import org.hibernate.Transaction; 
    10. import org.hibernate.cfg.Configuration; 
    11.  
    12. publicclass test { 
    13.      
    14.     //遍历 
    15.     publicstaticvoid all() 
    16.     { 
    17.         Query q = session.createQuery("select c.id,c.username from TestDb as c"); 
    18.          
    19.         List l = q.list(); 
    20.         for(int i=0;i<l.size();i++) 
    21.         { 
    22.             //TestDb user = (TestDb)l.get(i); 
    23.             //System.out.println(user.getUsername()); 
    24.  
    25.               Object[] row = (Object[])l.get(i);; 
    26.               Long id = (Long)row[0]; 
    27.               String name = (String)row[1];   
    28.               System.out.println(id+" "+name); 
    29.         } 
    30.     } 
    31.      
    32.     //读取 
    33.     publicstaticvoid load() 
    34.     { 
    35.         TestDb obj = (TestDb) session.load(TestDb.class, new Long(2)); 
    36.         System.out.println(obj.getUsername()); 
    37.     } 
    38.      
    39.     //更新 
    40.     publicstaticvoid update() 
    41.     { 
    42.         TestDb obj = (TestDb) session.load(TestDb.class, new Long(2)); 
    43.         obj.setUsername("cg"); 
    44.     } 
    45.      
    46.     //插入 
    47.     publicstaticvoid insert() 
    48.     { 
    49.         TestDb user = new TestDb(); 
    50.         user.setUsername("sb"); 
    51.  
    52.         session.save(user); 
    53.     } 
    54.      
    55.     static SessionFactory sessionFactory; 
    56.     static Session session ; 
    57.     static Transaction tx ; 
    58.      
    59.     privatestaticvoid init() 
    60.     { 
    61.         sessionFactory = new Configuration().configure().buildSessionFactory(); 
    62.         session = sessionFactory.openSession(); 
    63.         tx = session.beginTransaction(); 
    64.     } 
    65.      
    66.     privatestaticvoid close() 
    67.     { 
    68.         tx.commit(); 
    69.         session.close(); 
    70.         sessionFactory.close(); 
    71.     } 
    72.      
    73.     publicstaticvoid main(String[] args)  
    74.     { 
    75.         init(); 
    76.         update(); 
    77.         close(); 
    78.     } 

    文件结构

    文章来源:http://blog.csdn.net/rcfalcon/article/details/5684546

  • 相关阅读:
    虚拟机镜像压缩(qcow2,raw)
    CentOS7--删除virbr0
    django简单实例(1)
    python3.7操作mysql数据库
    KVM虚拟化安装部署
    zabbix监控温度及风扇
    excel以某列为基础进行行排序
    kibana添加首页登陆认证
    openstack常见问题解决方法
    linux的7种运行模式
  • 原文地址:https://www.cnblogs.com/kentyouyou/p/3103425.html
Copyright © 2020-2023  润新知