zoukankan      html  css  js  c++  java
  • Hibernate入门基本部署

    1,建立java工程,导入jar包

      Hibernate依赖jar包,lib/required/*.jar,核心包hibernate3.jar,数据库驱动包

    2,所有jar包的作用

    3,创建核心配置文件到src目录中,hibernate.cfg.xml

    <?xml version='1.0' encoding='utf-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    <session-factory>
    	<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    	<property name="connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&characterEncoding=utf-8</property>
    	<property name="myeclipse.connection.profile">hibernate1</property>
    	<property name="connection.username">root</property>
    	<property name="connection.password"></property>
    	<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    	<property name="hibernate.show_sql">true</property>
    
    	<mapping resource="com/lz/javabean/customer.hbm.xml"/>
    </session-factory>
    </hibernate-configuration>
    

    4,创建持久化类Customer.java

    package com.lz.javabean;
    import java.io.Serializable; @SuppressWarnings("serial") public class Customer implements Serializable{ private Integer id; private String name; private Integer age; private String des; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getDes() { return des; } public void setDes(String des) { this.des = des; } public Customer(Integer id, String name, Integer age, String des) { super(); this.id = id; this.name = name; this.age = age; this.des = des; } public Customer() { super(); // TODO Auto-generated constructor stub } @Override public String toString() { return "Customer [id=" + id + ", name=" + name + ", age=" + age + ", des=" + des + "]"; } }

     5,创建对应的数据表

    create table customer
    (
      id              int primary key,
      name        varchar(12),
      age           int,
      des           text
    )
    

     6,创建ORM映射配置文件customer.hbm.xml

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping package="org.hibernate.tutorial.domain">
    	<class name="com.lz.javabean.Customer">
    		<id name="id">
    			<generator class="native"></generator>
    		</id>
    		<property name="name" column="name"/>
    		<property name="age" column="age"/>
    		<property name="des" column="des"/>
    	</class>
    </hibernate-mapping>
    

     7,测试类

    package com.lz.test;
    
    import org.hibernate.SessionFactory;
    import org.hibernate.classic.Session;
    import org.junit.Test;
    
    import com.lz.javabean.Customer;
    import com.lz.util.SessionFactoryUtil;
    
    public class HibernateTest {
    	@Test
    	public void addCustomer(){    
                    Configuration cfg=new Configuration().configure();
    		SessionFactory factory=cfg.buildSessionFactory();
    		Session session=factory.openSession();
    		session.beginTransaction();
    		Customer customer=new Customer(1, "李四", 10, "帅气");
    		session.save(customer);
    		session.getTransaction().commit();
    		session.close();
    	}
    }            
    

     成功保存Customer对象

    8,其他方法的介绍

    get(Customer.class,id);若主键id值不存在,返回null,立即执行sql语句

    load(Customer.class,id);支持延迟加载,在使用对象时才发出sql语句,使用CGLIB代理,查询id不存在,抛出对象找不到异常

    delete(customer);

    update(customer);

  • 相关阅读:
    黑马程序员-winform视频总结的一些知识点
    如何让360兼容模式打开网页和极速模式打开一样
    [2016-10-24]jQuery学习回顾笔记1.0
    鼠标上下滑动总是放大缩小页面,按住ctrl+0
    按钮在苹果手机显示不正常
    鼠标悬停图片放大
    关于高度
    如何做出透明背景的flash动画
    复选框css
    HTML CSS 特殊字符表(转载)
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/6963662.html
Copyright © 2011-2022 走看看