`
itlangzicn
  • 浏览: 38404 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

第一个Hibernate程序(环境的搭建,测试用例)

阅读更多
一.环境的搭建

1)  在项目中将一个config源目录(Source Folder)---用来出发配置文件和属性文件

一个test目录--存放用于测试程序

2)  将运行Hibernate程序的jar和Mysql驱动包导入进项目。

3)  在config中建立一个属性文件hibernate.properties用来配置数据库连接,内容为:

        hibernate.connection.driver_class = com.mysql.jdbc.Driver

hibernate.connection.url = jdbc:mysql:///test

hibernate.connection.username = root

hibernate.connection.password = 123456

hibernate.dialect = org.hibernate.dialect.MySQLDialect

//可写可不写

hibernate.show_sql=true

hibernate.hbm2ddl.auto=update

        注意:等号左边的属性名必须这样写。

4) 建立一个domain对象Customer:

     package cn.itcast.hibernate.domain;

import java.util.Date;

public class Customer {

private Integer id;

private String name;

private Integer age;

private Date birth;

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 Date getBirth() {

return birth;

}

public void setBirth(Date birth) {

this.birth = birth;

}

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

}

5)在Customer同包下,建一个Customer.hbm.xml(该名字建议与Customer一样):

   <?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>

<class name="cn.itcast.hibernate.domain.Customer" table="CUSTOMERS" lazy="false">

<id name="id" column="ID" type="integer">

<generator class="increment"></generator>

</id>

<property name="name" column="NAME" type="string"/>

<property name="age" column="AGE" type="integer"/>

<property name="birth" column="BIRTH" type="date"/>

</class>


</hibernate-mapping>

  6)建一个工具类HibernateUtil,用于建立数据库连接。

package cn.itcast.hibernate.util;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

import cn.itcast.hibernate.domain.Customer;


public class HibernateUtil {

private static SessionFactory sessionFactory = null;

static{

//将属性文件加载到内存

Configuration conf = new Configuration();

//加载Customer.hbm.xml文件

//conf.addResource("");

//addClass源文件是通过Customer.class得到Customer类名再        //在后面加.hbm.xml就得到Customer.hbm.xml,就把该文件加载 //到内存

conf.addClass(Customer.class);

//所有文件加载完就可以建立SessionFactory

sessionFactory = conf.buildSessionFactory();

}

public static SessionFactory getSessionFactory(){

return sessionFactory;

}

}

以上就把环境搭建好了

  


二.测试

1)向数据库插入Customer。

    package cn.itcast.hibernate.app;

import java.sql.Date;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;


import cn.itcast.hibernate.domain.Customer;

import cn.itcast.hibernate.util.HibernateUtil;


public class App {


static HibernateUtil hibernateUtil = new HibernateUtil();

public App() {

}

public  static void insertCustomer(Customer customer){

SessionFactory sf = hibernateUtil.getSessionFactory();

Session session = sf.openSession();


Transaction transaction = session.beginTransaction();

session.save(customer);

transaction.commit();

session.close();

}

}

  2) 测试该插入操作:

        package cn.itcast.hibernate.test;

import java.sql.Date;

import org.junit.Test;

import cn.itcast.hibernate.app.App;

import cn.itcast.hibernate.domain.Customer;

public class AppTest {

@Test

public void testInsertCustomer() {

Customer customer = new Customer();

customer.setName("langzi");

customer.setAge(23);

customer.setBirth(Date.valueOf("1987-10-19"));

App.insertCustomer(customer);

}


}

  3)结果控制台打出:

Hibernate: select max(ID) from CUSTOMERS

Hibernate: insert into CUSTOMERS (NAME, AGE, BIRTH, ID) values (?, ?, ?, ?)

在去查看数据库。有记录该程序就成功。

0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics