技术开发 频道

NetBeans下配置Hibernate连接MySQL 5



    根据一位高人用myeclipse配置hibernate的经验所得。
经过一天得努力,终于配置成功了。呵呵,现在还是hibernate入门新人。
希望各位大侠不吝赐教。转载得请保留我得信息,谢谢

    Netbeans 5.5 bate2 配置 hibernate 2.1连接mysql 5
前提:
首先安装hibernate 2.1
其次安装mysql 5
然后安装mysql-connector-java-3.1.12-bin.jar
需要有netbeans 5.XIDE

#1 配置Hhibernate库
 在Netbeans 的Tools->Library Manager中点 New Library,在Library Name中输入 hibernate 2.1
 然后点OK,在ClassPath 中点 Add JAR/Folder,选择{Hibernate安装目录}\lib 添加所有的文件。

 再选择JavaDoc,点Add JAR/Folder 选择{Hibernate安装目录}\doc\api。这样可以获得doc

#2 这里配置mysql的库
 用#1同样的方法配置mysql-connector-java-3.1.12-bin.jar,只不过选择添加的是mysql-connector-java-3.1.12-bin.jar
 然后再netbeans的工程视图下,右键点 library,选择添加library,把前面添加好的hibernate 2.1和 mysql connector添加进去

#3 在mysql中建立一个schmeate 叫test ,再建立一个table叫CUSTOMER,其中有几个属性,分别是id[bigint(20)],name[varchar],
 email[varchar],phonenumber[varchar],其中id是primer key

#4 在netbeans中建立一个Customer类。具体代码如下

package jdbctest;
import java.io.Serializable;
import java.sql.Date;
import java.sql.Timestamp;
/**
 *
 * @author AlarnMartin
 */
public class Customer implements Serializable
{
   
    /** Creates a new instance of Customer */
    public Customer ()
    {
    }
    /**
     * 设置OID
     * @param id OID,用来区分实例的ID
     */
    public void setId(Long id)
    {
        this.id = id;
    }
    /**
     * 获得OID,可以用customerA.getId().compar(customerB.getId())来比较两个实例是否一样
     * @return OID 用来区分是否是同一条记录
     */
    public Long getId()
    {
        return this.id;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public String getName()
    {
        return this.name;
    }
    public void setEmail(String email)
    {
        this.email = email;
    }
    public String getEmail()
    {
        return this.email;
    }
    public void setPassword(String password)
    {
        this.password = password;
    }
    public String getPassword()
    {
        return this.password;
    }
    public void setPhone(int phone)
    {
        this.phone = phone;
    }
    public int getPhone()
    {
        return this.phone;
    }
     private Long id;
    private String name;
    private String email;
    private String password;
    private int phone;
    }
   
   
    #5 在netbeans 建立一个 Customer.hbm.xml文件,注意这个XML文件不能放到包内
    因为前面的类已经放到了jdbctest包内了,而且由于其他原因,所以这个XML不能放到包内
    ,具体代码如下:
  <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
    PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
    "
http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
  <class name="jdbctest.Customer" table="CUSTOMERS">
    
 
    <id name="id" column="ID" type="long">
      <generator class="increment"/>
    </id>
    <property name="name"  column="NAME"  type="string" not-null="true" /> 
    <property name="email"     column="EMAIL"     type="string" not-null="true" />
    <property name="password"  column="PASSWORD"  type="string" not-null="true"/>
    <property name="phone"     column="PHONE"     type="int" />
    <property name="address"   column="ADDRESS"   type="string" />
   
  </class>

</hibernate-mapping>

 

#6再建立一个hibernate.cfg.xml
具体内容如下:
<?xml version=’1.0’ encoding=’UTF-8’?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 2.0//EN"
          "
http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">

<!-- Generated by 鲍冠辰                  -->
<hibernate-configuration>

    <session-factory>
        <property name="connection.username">root</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
        <property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
        <property name="connection.password">bd643012</property>
        <property name="connection.driver_class">org.gjt.mm.mysql.Driver</property>
  <!-- 这里指向前面的Customer.hbm.xml,这就是为什么Customer.hbm.xml文件不能放到包里的原因  -->
  <mapping resource="Customer.hbm.xml"/>
    </session-factory>

</hibernate-configuration>

#7再建立一个Test类进行测试

package jdbctest;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.*;
import java.math.*;
public class Test {

 /**
  * @author 鲍冠辰
  */
 public static void main(String[] args) throws Exception{
  // TODO Auto-generated method stub
  SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

  Customer customer = new Customer();
    customer.setId(Long.valueOf("4"));
    customer.setName("martin");
    customer.setEmail("
tain198127@163.com");
    customer.setPassword("123456");
    Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    session.save(customer);
    tx.commit();
    session.close();
    sessionFactory.close();
    System.out.println("ok");
 }

}

   执行一下吧,再看看MYSQL的变化。
   大家可以发现,如果更换了其他的数据库的话,只需要配置一下XML文件就可以了

0
相关文章