Java 测试Hibernate+Mysql简单的数据存储

想使用Hibernate框架,在网上看了一个Hibernate学习视频,试着做了一个小小的Java连接数据库的操作,Java初学者一个,大家多多包涵

开发环境:

  1.安装MySql,

  2.安装了Eclipse+插件hibernatetools-Update-4.1.2插件

  3.java包导入1.hibernate-core  2.Junit4.0  3.mysql

思路:

  1.配置Hibernate配置文件

  

<?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.username">root</property> <!-- 数据库用户名 -->
    <property name="connection.password"></property>     <!-- 数据库密码 -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql:///hibernate?useUnicode=true&amp;charactertEncoding=UTF-8</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    
  
    <property name="show_sql">true</property> <!-- SQL输出到控制台 -->
    <property name="format_sql" >true</property> <!-- 格式化SQL -->
    <property name="hbm2ddl.auto">update</property>    <!-- create|update|create-drop|validate:检查数据表结构是否相同 -->
      
    
    <mapping resource="Students.hbm.xml" />    <!-- 学生配置文件 -->
    </session-factory>
</hibernate-configuration>

  2.定义持久话学生类

//学生类
public class Students {
    // 1.公有的类
    // 2.提供公有的不带参数的默认的构造方法
    // 3.属性私有
    // 4.属性setter/getter封装

    private int sid;

    private String sname;

    private String gender;

    private String address;

    public Students() {

    }

    public Students(int sid, String sname, String gender, String address) {
        // super();
        this.sid = sid;
        this.sname = sname;
        this.gender = gender;
        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 String getAddress() {
        return address;
    }

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

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

}

3.配置Students.hbm.xml文件,这个是由Hibernate插件工具自动完成的,Src右键-Other-Hibernate-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">
<!-- Generated 2015-6-25 19:45:24 by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="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="address" type="java.lang.String">
            <column name="ADDRESS" />
        </property>
    </class>
</hibernate-mapping>

 

4.定义一个StudentsTest测试类

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;
import org.hibernate.service.ServiceRegistryBuilder;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

//测试类
//@SuppressWarnings("deprecation")
public class StudentsTest {

    
    private SessionFactory sessionFactory; //会话工厂
    private Session session;               //会话    
    private Transaction transaction;       
    
    @Before        //之前
    public void init()  //初始化
    {
        //创建配置对象
        Configuration config=new Configuration().configure();
        //创建服务注册对象
        ServiceRegistry serviceRegistry=new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry();
        //创建会话工厂对象
        sessionFactory=config.buildSessionFactory(serviceRegistry);
        //会话对象
        session=sessionFactory.openSession();
        //开启事务
        transaction=session.beginTransaction();
    }
    
    @After    //之后
    public void destory()
    {
        transaction.commit();    //提交事务
        session.close();        //关闭会话
        sessionFactory.close(); //关闭会话工厂
    }
    
    @Test    //测试
    public void testSaveStudents()
    {
        Students s=new Students(3,"张三丰","男","武当山");
        session.save(s);    
        Students s1=new Students(4,"shexunyu","男","咸宁");
        session.save(s1);    //保存对象进入数据库
    }
    
    
}

5.到这就算完成了,在把工程的目录结构截图给大家

6.大家可以右键StudentsTest右键Runas-JUnit Test进行测试吧,好啦,代码我上传了,点这里下载

https://files.cnblogs.com/files/shexunyu/Java-Hibernate_002.zip

User:shexunyu Date:2015-06-26  Contact:

posted on 2015-06-26 09:59  shexunyu  阅读(563)  评论(0编辑  收藏  举报

导航