zoukankan      html  css  js  c++  java
  • Hibernate注解学习1

    由于项目的原因目前需要一些简单注解,于是就做了个hibernate注解的小demo,来记录一下。

    1、需要引入jar包
    ejb3-persistence.jar
    hibernate-annotations.jar
    hibernate-commons-annotations.jar
    slf4j-api-1.5.2.jar
    slf4j-log4j-1.5.2.jar

    2、hibernate.cfg.xml配置文件
    <hibernate-configuration>
    
    <session-factory>
        <!--方言:用于指定数据库类型,生成相应数据库的sql语句  -->
        <property name="dialect">
                org.hibernate.dialect.MySQL5Dialect
        </property>
        <property name="connection.url">
        jdbc:mysql://localhost:3306/eat
        </property>
        <property name="connection.username">root</property>
        <property name="connection.password">lp6163271</property>
        <property name="connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <!-- 显示hibernate自动生成的sql语句 -->
        <property name="show_sql">true</property>
        <!-- 将显示出来的格式化一下 -->
        <property name="format_sql">true</property>
        
        <mapping class="test.Anno"/>    
    </session-factory>
    
    </hibernate-configuration>
    其中配置文件还是基本和原来一致的,一定要加上 <mapping class="test.Anno"/> ,否则会找不到映射文件而报错。

    3、实体类
    package test;
    
    import javax.persistence.Entity;
    import javax.persistence.Id;
    import javax.persistence.Table;
    
    @Entity
    @Table(name="test")
    public class Anno {
    	
    	private int id;
    	
    	private String name;
    
    	@Id
    	public int getId() {
    		return id;
    	}
    
    	public void setId(int id) {
    		this.id = id;
    	}
    
    	public String getName() {
    		return name;
    	}
    
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	@Override
    	public String toString() {
    		return "Anno [id=" + id + ", name=" + name + "]";
    	}
    	
    	
    }
    

      

    @Entity  实体类
    @Table(name="test") 关联的表名
    @id 主键

    4、编写测试类
    
    
    package test;
    
    import java.util.List;
    
    import org.hibernate.Query;
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.AnnotationConfiguration;
    import org.hibernate.cfg.Configuration;
    import test.Anno;
    
    public class Test {
    
        public static void main(String[] args) {
            SessionFactory sf=new AnnotationConfiguration().configure("/hibernate.cfg.xml").buildSessionFactory();
            Session session=sf.openSession();
            String hql=" from Anno";
            Query query=session.createQuery(hql);
            List<Anno> list=query.list();
            System.out.println(list);
        }
    
    }
    
    
    

      

     
    这要强调的是 得到SessionFactory 不再是 new一个configuration 而是 AnnotationConfiguration

    5、配置好了之后,就可以调试成功了。

    虽然这个demo简单,刚开始做jar包的问题搞了好大一会,还有后来编写测试类new的对象不对,每天进步一点点。 驾驾驾!


  • 相关阅读:
    关闭编辑easyui datagrid table
    sql 保留两位小数+四舍五入
    easyui DataGrid 工具类之 util js
    easyui DataGrid 工具类之 后台生成列
    easyui DataGrid 工具类之 WorkbookUtil class
    easyui DataGrid 工具类之 TableUtil class
    easyui DataGrid 工具类之 Utils class
    easyui DataGrid 工具类之 列属性class
    oracle 卸载
    “云时代架构”经典文章阅读感想七
  • 原文地址:https://www.cnblogs.com/volare/p/3667559.html
Copyright © 2011-2022 走看看