Eclipse neon +Hibernate5+maven创建小例子

来源:互联网 发布:robotmaster软件下载 编辑:程序博客网 时间:2024/05/22 01:46

   Eclipse+Maven搭建一个Hibernate5的小例子

一、新建一个maven项目

二、将第一个勾选上


三、创建好的项目结构



四、因为Eclipse neon新建maven项目默认的是支持servelt2.5,所以为了支持3.0的API进行如下设置,然后点击下面的链接

五、修改webapp目录



六、修改文件的maven class目录,并删除test的class



七、完成前面的步骤,项目目录结构(此处省略各个文件的创建)



源代码:

Students.java

package com.vae.entity;


import java.util.Date;


public class Students {

private int sid;
private String sname;
private String gender;
private Date birthday;
private String address;

public Students(){

}


public Students(int sid, String sname, String gender, Date birthday, String address) {
//super();
this.sid = sid;
this.sname = sname;
this.gender = gender;
this.birthday = birthday;
this.address = address;
}


public int getSid() {
return sid;
}


public void setSid(int sid) {
this.sid = sid;
}


public String getSname() {
return sname;
}


public void setSname(String sname) {
this.sname = sname;
}


public String getGender() {
return gender;
}


public void setGender(String gender) {
this.gender = gender;
}


public Date getBirthday() {
return birthday;
}


public void setBirthday(Date birthday) {
this.birthday = birthday;
}


public String getAddress() {
return address;
}


public void setAddress(String address) {
this.address = address;
}


@Override
public String toString() {
return "Students [sid=" + sid + ", sname=" + sname + ", gender=" + gender + ", birthday=" + birthday
+ ", address=" + address + "]";
}



}


Students.hbm.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>


<class name="com.vae.entity.Students" table="STUDENTS">

<id name="sid" type="int">
<column name="SID" />
<generator class="assigned" />
</id>
<property name="sname" type="java.lang.String">
<column name="SNAME" />
</property>
<property name="gender" type="java.lang.String">
<column name="GENDER" />
</property>
<property name="birthday" type="java.util.Date">
<column name="BIRTHDAY" />
</property>
<property name="address" type="java.lang.String">
<column name="ADDRESS" />
</property>
</class>
</hibernate-mapping>


hibernate.cfg.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
    <property name="connection.username">root</property>
    <property name="connection.password">密码</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql:///testhibernate2?useUnicode=true&amp;characterEncoding=UTF-8</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
   
    <property name="show_sql">true</property>
    <property name="format_sql">true</property>
    <property name="hbm2ddl.auto">create</property>
   
   
    <mapping resource="com/vae/entity/Students.hbm.xml"/>
    </session-factory>
</hibernate-configuration>


stutest.java


package com.vae.test;


import java.util.Date;


import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.junit.Test;


import com.vae.entity.Students;


public class stutest {




@Test
public void save(){
SessionFactory seFactory = null;
        final StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
         try{
             seFactory = new MetadataSources( registry ).buildMetadata()
                       .buildSessionFactory();
       } catch(Exception e){
            StandardServiceRegistryBuilder.destroy( registry );
        }
        
        
        //2.鍒涘缓涓�涓猄ession瀵硅薄
        
       Session session = seFactory.openSession();
        
      //3.寮�鍚簨鍔�
       session.beginTransaction();
        //4.鎵ц鎿嶄綔
       Students s=new Students(1,"ssss","wwwww",new Date(),"ooooo");
      session.save(s);
       
        /*
        //!!!!鍐檋ql璇彞锛宖rom 绫诲悕(鍖哄垎澶у皬鍐�)
        String hql = "from UserInfo";
        @SuppressWarnings("unchecked")
        List<UserInfo> list = session.createQuery(hql).list();
        for(UserInfo u : list){
            System.out.println(u);
        }
        */
        //5.鎻愪氦浜嬪姟
       session.getTransaction().commit();
        //6.鍏抽棴Session
        session.close();
       //7.鍏抽棴SessionFactory
       seFactory.close();
}

}


pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.cdsn</groupId>
  <artifactId>cdsn</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  
  <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
 
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.11</version>
            <scope>test</scope>
        </dependency>
        <!-- 添加Hibernate依赖 -->
        <dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-core</artifactId>
    <version>5.2.1.Final</version>
        </dependency>


 
        <!-- 添加Log4J依赖 -->
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>
 
        <dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.21</version>
</dependency>
 
        <!-- 添加javassist -->
        <dependency>
    <groupId>org.javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.20.0-GA</version>
</dependency>
 
        <!-- mysql数据库的驱动包 -->
        <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.40</version>
</dependency>
    </dependencies>
    <!-- 此处原因未知    使用mysql6版本时出现空指针异常     此处使用mysql5 -->
  
</project>



0 0
原创粉丝点击