Eclipse集成Hibernate操作Sqlserver实例

Eclipse搭建Hibernate开发环境,使用的数据库是Sqlserver2008

1、需要成功安装Eclipse,如果没有安装可以上网查资料。

2、Eclipse安装成功后,点击Help--> Eclipse Marketplace,搜索JBoss Tools,选择Hibernate的组件,点击install,选择要安装的JBoss插件,一路默认即可,安装完后重启Eclipse。

  

3、安装成功后,New-->Other,输入h,可以看到Hibernate的组件,说明安装Hibernate插件成功。

  

4、第一个Hibernate工程,刚开始学习只需新建Java Project即可。工程建好后,需要导入Hibernate的jar包(为了保险,全部导入,我这里用的Hibernate4),可以在这里下载:https://pan.baidu.com/s/1iIwykYn5WngEUvF1MqmSoA,密码:加微信:z1639701126,里面包括项目所需所有jar包和源代码(原创不易,需要鼓励哈)

  

5、如果还有同学不知道怎么导包,没关系,我来教你,右键项目-->Build path-->Configure Build Path-->libraries-->Add extenal jars,找到刚才下载的包,全部添加进来即可,(不要忘了jdbc哦,我这里选择的是sqljdbc4)。

 

6、现在项目中所需的环境已经搭建好了,接下来进行代码层面的操作。进入项目新建持久化层的包和类,我这里是News.java为例。

import java.util.Date;

public class News {
    private Integer id;
    private String title;
    private String content;
    private Date date;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    public News(String title, String content, Date date) {
        super();

        this.title = title;
        this.content = content;
        this.date = date;
    }

    public News() {
        // TODO Auto-generated constructor stub
    }

}

这里需要注意的是:

  • 要提供一个无参构造器。以便Hibernate可以使用Constructor.newInstance()来实例化持久化类。
  • 提供一个标识属性。通常映射为数据库表的主键字段。如果没有该属性,一些功能将不起作用,如:Session.saveOrUpdate()。
  • 为持久化类的字段声明访问方法(get/set)。Hibernate对JavaBeans风格的属性实行持久化。
  • 使用非final类。在运行时生成代理是Hibernate的一个重要的功能。如果持久化类没有实现任何接口,Hibnernate 使用 CGLIB 生成代理。如果使用的是 final 类,则无法生成CGLIB代理。
  • 重写eqauls()和hashCode()方法。如果需要把持久化类的实例放到Set中(当需要进行关联映射时),则应该重写这两个方法。

7、创建对象-关系映射文件:

  右键持久化类所在的包名,New -> Hibernate XML Mapping file(hbm.xml) -> 选择News类 -> finish,将生成New类对应的对象-关系映射文件News.hbm.xml,把其中<id>下的<generator>的class属性设置为”native”,即指定主键的生成方式为使用数据库的本地方式: 

<?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 2018-7-18 10:45:25 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
    <class name="News" table="News">
        <id name="id" type="java.lang.Integer">
            <column name="ID" />
            <generator class="native" />
        </id>
        <property name="title" type="java.lang.String">
            <column name="TITLE" />
        </property>
        <property name="content" type="java.lang.String">
            <column name="CONTENT" />
        </property>
        <property name="date" type="java.util.Date">
            <column name="DATE" />
        </property>
    </class>
</hibernate-mapping>

8、创建Hibernate配置文件: 
  右键src目录 -> New -> Hibernate Configuration File -> next,使用默认名字hibernate.cfg.xml,点击finish,然后在该文件中配置数据库连接相关的信息:

  

<?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">用户名</property>
        <property name="connection.password">你的密码</property>
        <property name="connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
        <property name="connection.url">jdbc:sqlserver://你的电脑IP:1433;Database=数据库名</property>

        <!-- 配置 hibernate 的基本信息 -->
        <!-- hibernate 所使用的数据库方言 -->
        <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>       

        <!-- 执行操作时是否在控制台打印 SQL -->
        <property name="show_sql">true</property>

        <!-- 是否对 SQL 进行格式化 -->
        <property name="format_sql">true</property>

        <!-- 指定自动生成数据表的策略 -->
        <property name="hbm2ddl.auto">update</property>

        <!-- 指定关联的 .hbm.xml 文件,如果在包中就写成,如:com/entity/Address.hbm.xml -->
        <mapping resource="News.hbm.xml"/>

    </session-factory>
</hibernate-configuration>

9、测试: 
  新建一个测试类,用下面的代码测试保存一个New对象到数据库,然后查找该记录并输出。

  

import java.util.Date;

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;

public class Test {

    public static void test() {
        //创建一个 SessionFactory 对象
        SessionFactory sessionFactory = null;

        //创建Configuration对象:对应hibernate的基本配置信息和对象关系映射信息
        Configuration configuration = new Configuration().configure();

        //创建一个 ServiceRegistry 对象: hibernate 4.x 新添加的对象
        //hibernate 的任何配置和服务都需要在该对象中注册后才能有效.
        ServiceRegistry serviceRegistry =
                        new ServiceRegistryBuilder().applySettings(configuration.getProperties())
                                                    .buildServiceRegistry();

        sessionFactory = configuration.buildSessionFactory(serviceRegistry);

        // 创建一个 Session 对象
        Session session = sessionFactory.openSession();

        // 开启事务
        Transaction transaction = session.beginTransaction();

        //执行保存和加载操作
        News news = new News("Java", "zhangsan", new Date(new java.util.Date().getTime()));
        session.save(news);

        //加载数据库中id为1的News记录
        News news1 = (News) session.get(News.class, 1);
        System.out.println(news);

        //5. 提交事务
        transaction.commit();

        //6. 关闭 Session
        session.close();

        //7. 关闭 SessionFactory 对象
        sessionFactory.close();
    }

    public static void main(String[] args) {
        test();
    }

}

10、直接执行代码就可以,Sql语句的执行过程会打印在控制台,如下:

  

11、数据库中会又新建NEWS表和插入的数据

  

原文地址:https://www.cnblogs.com/zhaojinyan/p/9336174.html

时间: 2024-10-12 21:42:04

Eclipse集成Hibernate操作Sqlserver实例的相关文章

eclipse下 hibernate逆向数据库操作示例!!

做项目必然要先进行数据库表设计,然后根据数据库设计建立实体类(VO),这是理所当然的,但是到公司里做项目后,让我认识到,没有说既进行完数据库设计后还要再“自己”建立一变VO.意思是,在项目设计时,要么根据需求分析建立实体类,由正向生成数据库表:要么就先进行数据库表设计,再逆向生成实体类.没有说进行完任意一方的设计后再去花时间去自己匹配建立另一方的设计. 原因是: 1. 1.5倍工作量,浪费时间.(时间对公司来说很重要) 2. 无法保证两边映射一致.因为两边都是自己设计的,那么就需要人为保证映射关

Eclipse juno 中安装 JBoss Tools,集成Hibernate

Eclipse juno 中安装 JBoss Tools,集成Hibernate 在Eclipse中集成hibernate工具可以帮助开发者根据数据库生成映射文件.注释代码以及反向工程. Hibernate Tools作为JBoss Tools的核心组件,已经被捆绑在JBoss Tools中,安装完JBoss Tools的同时,Hibernate Tools也相应的被安装. 一.Help->Install New Software中安装 首先要找到跟Eclipse版本对应的Hibernate/J

Maven安装及与Eclipse集成

1.  安装 Maven不需要作为服务组件安装到Windows上,仅仅需要下载.解压.配置一下环境变量即可. 1.1  JDK和JAVA_HOME 在安装Maven之前,首先要确认你已经正确安装了JDK.Maven可以运行在JDK1.4及以上的版本上.运行命令[echo % java_home % ]检查环境变量JAVA_HOME是否指向了正确的JDK目录:然后,运行命令[java -version]检查jdk版本是否在1.4及以上版本. 1.2  下载Maven 下载Maven3.X(例如Ma

Eclipse集成Maven(手工安装Maven且手工集成到Eclipse)

1.操作环境 操作系统:win8 64位 IDE:Helios Eclipse 1.8 JDK:1.6 2.资源准备 2.1 maven安装包: apache-maven-3.2.5-bin.zip  (适用JDK 1.6) 参考下载地址:http://mirrors.cnnic.cn/apache//maven/maven-3/3.2.5/ 2.2 maven集成包: eclipse-maven3-plugin.zip 参考下载地址:http://www.downcc.com/soft/175

5.Eclipse集成开发环境

5.Eclipse集成开发环境 Eclipse集成开发环境不仅可以编译裸机工程,还可以调试整个裸机工程,这样当程序异常的时候,可以更加有效的进行修改.接下来就是搭建整个eclipse集成环境:这个调试环境的框架如下图1-1: 图1-1 从上面的框架图看到,要实现eclipse在线调试裸机程序,需要安装的软件是eclipse+CDT.JLink驱动.GDB调试软件,需要连接的硬件是JLink连接pc机和开发板. 注意:为了避免干扰,最好对NandFlash进行格式化:图1-2: 然后选择y: 图1

Eclipse 安装 Hibernate插件以及使用

在线更新 打开eclipse工具,选择HELP---Install new software----输入网址,如我们这里要安装hibernate tools进行逆向工程的建立,输入http://download.jboss.org/jbosstools/updates/development 选择hibernate tools----安装更新. 手动安装 在使用Hibernate开发时,大多数情况下涉及到其XML配置文件的编辑,尤其是.cfg.xml(配置文件)和hbm.xml(关系映射文件)这

eclipse通过hibernate tools逆向工程生成hbm.xml和实体类

1.给自己的eclipse添加hibernate tools plugin添加方式:http://download.jboss.org/jbosstools/updates/stable/kepler/->  * Abridged JBoss Tools   -->hibernate tools 3.7.1 2.右上角open perspective(视图菜单) 添加Database Development视图并打开 选择Database Connections 右键新建选择相应数据库(下面是

Java_Web三大框架之Hibernate操作数据库(三)

使用Hibernate操作数据库需要七个步骤: (1)读取并解析配置文件 Configuration conf = newConfiguration().configure(); (2)读取并解析映射信息,创建SessionFactory SessionFactory sf = conf.buildSessionFactory(); (3)打开Session Session session = sf.openSession(); (4)开始一个事务(增删改操作必须,查询操作可选) Transac

【转】64位win7环境eclipse集成svn后出现Failed to load JavaHL Library的解决办法

出现错误“Failed to load JavaHL Library”的绝大多数情况是使用的Linux环境,在Linux环境中使用eclipse集成svn,会出现这个情况.网上很多处理Linux下出现这种错误的办法此处就不列出了,仅提供一个参考URL:http://www.cnblogs.com/feng_013/archive/2010/07/22/1783228.html 同样的错误提示在64位win7环境中也会出现,应该是64位系统的原因.解决的办法很简单,下载64位的SVN Client