文档章节

hibernate helloword程序创建

一个yuanbeth
 一个yuanbeth
发布于 2016/08/17 09:27
字数 479
阅读 7
收藏 0
点赞 0
评论 0

 

一 创建dao层

public class User {
    private int id;
    private String name;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    
    @Override
    public String toString() {
        return "[User:id="+id+",name"+name+"]";
    }
    
}

 

二导入jar包

 

三配置xml文件 

<!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="dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="connection.url">jdbc:mysql://192.168.10.227:3309/hibernate_20160815</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">000000</property>

        <!-- 二、其他配置 -->
        <property name="show_sql">true</property>
        <property name="format_sql">false</property>

        <!-- 
            create: 先删表,再建表。
            create-drop: 启动时建表,退出前删表。
            update: 如果表结构不一致,就创建或更新。
            validate: 启动时验证表结构,如果不致就抛异常。
         -->

        <property name="hibernate.hbm2ddl.auto">update</property>
        
        
        <!-- 三、导入映射配置文件 -->
        <mapping resource="cn/itcast/a_helloword/User.hbm.xml"/>
        
        
    </session-factory>
</hibernate-configuration>

 

四映射配置文件

<?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.a_helloword.User" table="user">
        <id name="id" type="int" column="id">
            <generator class="native"></generator>
        </id>
        <property name="name" type="string" column="name"></property>
    </class>

</hibernate-mapping>

 

五 应用层

 Java Code 

package cn.itcast.a_helloword;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

public class App {
    
    public static SessionFactory sessionFactory;
    
    static {

        // 读取配置文件并生成Session工厂对象

        Configuration cfg = new Configuration();

        // cfg.configure("hibernate.cfg.xml"); // 加载指定的配置文件

        // cfg.configure(); // 读取默认的配置文件(hibernate.cfg.xml)

        // cfg.addResource("cn/itcast/a_helloworld/User.hbm.xml");

        // cfg.addClass(User.class); //

        // sessionFactory = cfg.buildSessionFactory();

 

        sessionFactory = new Configuration()//

                .configure()//

                .addClass(User.class)// 加载指定类对应的映射文件(以类名为前缀,后缀为.hbm.xml的同一个包下的文件)

                .buildSessionFactory();

    }
    
    //保存对象到数据库
    @Test
    public void testSave() throws Exception {
     //准备对象
        User user = new User();
        user.setName("张三");
    //保存到数据库中
      Session session = sessionFactory.openSession();
      Transaction tx = session.beginTransaction();
      session.save(user);//保存
      tx.commit();
      session.close();
    }
    
    
    //从数据库中获取一条数据
    @Test
    public void testGet() throws Exception {
          Session session = sessionFactory.openSession();
          Transaction tx = session.beginTransaction();
          User user = (User) session.get(User.class,1);//保存
          tx.commit();
          session.close();
          
          System.out.println(user);//显示信息
    }
}

© 著作权归作者所有

共有 人打赏支持
一个yuanbeth
粉丝 74
博文 85
码字总数 49333
作品 0
深圳
程序员
MessageContext和传输头之续二(实例演示:客户端中访问消息上下文)

我们还是以HelloWord为例,为更简单点,我们删除了一些Handler,只留了一些基本功能。 服务端 HelloWord.java package ch03.ts; import javax.jws.WebMethod;import javax.jws.WebParam;imp...

柳哥 ⋅ 2014/05/17 ⋅ 0

iTOP-4412嵌入式开发板-以NFS方式调试应用程序

本文转自迅为:http://www.topeetboard.com 平台:iTOP-4412嵌入式开发板 大家好,今天我们讲解一下通过 NFS 网络文件系统来调试我们的应用程序,我们这里以 linux qt 系统为例。 我们在 qt...

歌之王子殿下 ⋅ 2016/02/23 ⋅ 0

OpenWRT开发之——创建软件包(有更新)

试验步骤 为了达到自己编写一个程序打包成ipk,并能在OpenWRT上运行的目的。我在网上找了些学习的资料。 本人参考的是:如何在OpenWRT上做开发 感谢该网友的耐心解答。虽然有现成的步骤,博主...

临峰不畏 ⋅ 2015/05/04 ⋅ 2

contiki 3.x:关于源码Makefile架构逻辑(1)

认识了源码结构,现在终于可以学习怎么编译了。 上一次的帖子说道,源码的目录结构,现在我们看看makefile的目录: 找找规律看,通过打印信息,我们看一看到Makefile文件是不是很有特点的,我...

Xjs_ts ⋅ 2016/10/22 ⋅ 0

创建异步的客户端

前面博客中,我们通过WSDL创建的客户端几乎都是同步的,也就是从web服务端有响应返回或有一个异常抛出之前,调用将一直阻塞。另外JWS也支持客户端对web服务的非阻塞或异步方式调用(注:好像...

柳哥 ⋅ 2014/04/10 ⋅ 0

Velocity入门指南——第一章 快速入门

1 简介 Velocity是一款基于Java的模板引擎。它允许Web页面设计者引用Java代码中定义的方法。Web设计者能与根据Model-View-Controller (MVC)模型开发Web网站的Java程序员合作,意味着Web页面设...

Leech ⋅ 2015/12/03 ⋅ 0

零配置socket消息通讯容器EC

EC全称是elastic communication,是基于c#实现的Socket网络通讯服务容器,支持windows .Net和mono。通过EC容器可以让开发人员在不了解Socket网络通讯知识和不进行任何配置的情况即可把逻辑应用...

泥水佬 ⋅ 2014/09/22 ⋅ 0

struts2+spring中action的生命周期问题

将struts2中的action交给spring管理 如果没有指定scope就会出现验证时第一次验证的结果一直存在,导致后面的验证根本没有进行 所以在spring中配置action时要指定scope属性为prototype <bean...

一念三千 ⋅ 2013/03/04 ⋅ 0

第1篇-JAVA开篇

第1篇-JAVA开篇 每篇一句 :用心去做每一件事 初学心得:从入门到懵懂,选择了必然会明白这是一条非常艰苦而困难的IT道路,但自己的内心会反馈一个”满意“答复! (笔者:JEEP/711)[JAVA笔记,...

JEEP711 ⋅ 2017/06/04 ⋅ 0

在SOAP1.2下实现HelloWord服务

还是以前面的HelloWord服务为例子。 服务端: HelloWord.java package ch03.ts; import javax.jws.WebMethod;import javax.jws.WebParam;import javax.jws.WebService;import javax.xml.ws.H......

柳哥 ⋅ 2014/05/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部