您的位置:首页 > 数据库

Hibernate入门级demo 配置连接 Sql Server 2005 (Hibernate in Action)

2010-09-21 22:41 399 查看
1 在SQL Server中数据库hbm中设计一个MESSAGES表,其中MESSAGE_ID是主键,自动编号.



2 编写一个数据库的Bean类

package com.hibernateinaction.hello;

public class Message {

private long id;

private String text;

public Message() {

}

public void setId(long id) {

this.id = id;

}

public long getId() {

return id;

}

public void setText(String text) {

this.text = text;

}

public String getText() {

return text;

}

}

3 编写映射文件Message.hbm.xml,其中<generator class="native" />表示是自动编号,这个文件和类文件放在同一目录

<?xml version="1.0" encoding='UTF-8'?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>

<class name="com.hibernateinaction.hello.Message" table="MESSAGES">

<id name="id" column="MESSAGE_ID">

<generator class="native" />

</id>

<property name="text" column="MESSAGE_TEXT" />

</class>

</hibernate-mapping>

4 编写hibernate配置文件hibernate.cfg.xml, 这个文件放在源码的根目录,注意文件名一定要是这个,因为我们后面要使用函数Configuration configure() ,配置好数据库命,用户名,密码等,还要注意数据库的tcp/ip协议时允许的,SQL Server服务已经启动.最后面有一个映射的引用,引用到我们刚刚写的mapping文件.注意路径要正确.

文档中写道:

Use the mappings and properties specified in an application resource named hibernate.cfg.xml,

配置文件内容:

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

<!-- Generated by MyEclipse Hibernate Tools. -->

<hibernate-configuration>

<session-factory>

<property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

<property name="connection.url">jdbc:sqlserver://127.0.0.1:1433;database=hbm</property>

<property name="connection.username">sa</property>

<property name="connection.password">sa</property>

<property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>

<mapping resource="com/hibernateinaction/hello/Message.hbm.xml" />

</session-factory>

</hibernate-configuration>

5. log4j的配置文件,由于hibernate是依赖于log4j的,所以需要有这个配置文件,否则会有warning.

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">

<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">

<appender name="console" class="org.apache.log4j.ConsoleAppender">

<param name="Target" value="System.out" />

<layout class="org.apache.log4j.PatternLayout">

<param name="ConversionPattern" value="%-5p %c{1} - %m%n" />

</layout>

</appender>

<root>

<priority value="debug" />

<appender-ref ref="console" />

</root>

</log4j:configuration>

添加依赖的JAR包

包括Hibernate的所有jar包.另外还需要而外的两个jar包

slf4j-log4j12-1.5.6.jar

log4j-1.2.14.jar

还有就是sql server的驱动jar包,这个在微软的网站上有:

sqljdbc.jar sqljdbc4.jar

所依赖的JAR包如下图所示:



未必全部用到,但是这样肯定是没有问题的

使用的编译环境是JRE1.6 Hibernate版本是3.5.6 数据库是SQL Server 2005 Developer Edition

最后编写一个测试用的主函数

package com.hibernateinaction.hello;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;

import org.hibernate.classic.Session;

public class App {

public static void main(String[] args) {

Configuration cfg = new Configuration();

SessionFactory sf = cfg.configure().buildSessionFactory();

Session s = sf.openSession();

Transaction tx = s.beginTransaction();

Message msg = new Message();

msg.setId(1);

msg.setText("new message");

s.save(msg);

tx.commit();

s.close();

System.out.println("end");

}

}

成功之后会在数据库的MESSAGES表中生成一条记录,OK,hibernate Demo配置完成.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: