zoukankan      html  css  js  c++  java
  • Hiberate HelloWorld入门

    通过两种方式来创建项目,一种是用xml方式来描述映射关系,一种是用Annation方式来进行描述

    1 建立新java 项目,名为hibernate_0100_HelloWorld 2 学习建User-library-hibernate,并加入相应的jar包   a) 项目右键-buildpath-configure build path-add library—   b) 选择User-library,在其中新建 libraray,命名为 hibernate   c) 在该library中加入hibernate所需jar包     i. hibernate core     ii. lib/required下所有jar包     iii. slf-nop jar 3 引入mysql的JDBC驱动包 4 在mysql中建立对应的数据库以及表   a) create database hibernate;   b) use hibernate;   c) create table Student (id int primary key, namevarchar(20), age int); 5 建立hibernate 配置文件hibernate.cfg.xml   a) 从参考文档中copy   b) 修改对应的数据库连接   c) 注释掉暂时用不上的内容
       <mapping resource="com/lai/hiberte/model/Student.hbm.xml"/>
    6	建立Student 类(属性,getter方法和setter方法)
    7	建立Student 映射文件 Student.hbm.xml (Id是什么,

    <hibernate-mapping package="com.lai.hiberte.model"> 指明包

    <class name="Student" table="Student">  指明表名,类名

    <id name="id">  id这个字段就是primary key,主键的意思

    </id>

    <property name="name"/>

    <property name="age"/>

    </class>

    </hibernate-mapping>

    8  将映射文件加入到hibernate.cfg.xml中
      a)	参考文档
    ====================================
    TestClass:

    public class TestClass {

    /**
    * @param args
    */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Student s = new Student();
    s.setId(1);
    s.setAge(22);
    s.setName("laichunbin");

    Configuration cfg = new Configuration();
    SessionFactory sf = cfg.configure().buildSessionFactory();
    Session session = sf.openSession();
    session.beginTransaction();
    session.save(s);
    session.getTransaction().commit();
    session.close();
    sf.close();

    }

    }

    #######################

    Annation版

    Annation版很简单,比手动写xml文件方便多了

    在类的前面加上,@Entity ,在主键的getter方法前面加上@Id,需要引入两个类

    (JPA,HIBERATE)

    import javax.persistence.Entity;
    import javax.persistence.Id;

    /**
     * 
     */
    
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    
    /**
     * @author laicb
     * 
     */
    @Entity
    public class Teacher {
    	int id;
    	String name;
    	String title;
        
    	@Id
    	public int getId() {
    		return id;
    	}
    	public String getName() {
    		return name;
    	}
    	public String getTitle() {
    		return title;
    	}
    	public void setId(int id) {
    		this.id = id;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public void setTitle(String title) {
    		this.title = title;
    	}
    }
    

    加上@Entriy,@Id就做好映射了,可以直接使用,不过在New Configuration的时候使用AnnationConfiguration

        public static void main(String[] args) {
            // TODO Auto-generated method stub
            Teacher s = new Teacher();
            s.setId(1);
            s.setName("laichunbin");
            s.setTitle("assistant professor");
            
            Configuration cfg = new AnnotationConfiguration();
            SessionFactory sf =  cfg.configure().buildSessionFactory();
            Session session = sf.openSession();
            session.beginTransaction();
            session.save(s);
            session.getTransaction().commit();
            session.close();
            sf.close();
        }

     Tips:

      @不给提示,在preference-Content Edit -annotinon for java (.,@)就可以。


      

  • 相关阅读:
    漂亮灵活设置的jquery通知提示插件toastr
    C# 对List<T>取交集、连集及差集
    查看sqlserver被锁的表以及如何解锁.
    javascript的setTimeout()用法总结,js的setTimeout()方法
    日志插件 log4net 的使用
    Log4NET简介
    解决WCF大数据量传输 ,System.Net.Sockets.SocketException: 远程主机强迫关闭了一个现有的连接
    也说Autofac在MVC的简单实践:破解在Controller构造函数中的实例化
    Autofac 依赖注入 ASP.NET MVC5 插件机制中插件的简单实现
    Asp.net mvc中整合autofac
  • 原文地址:https://www.cnblogs.com/championlai/p/3861492.html
Copyright © 2011-2022 走看看