开发流程,注意:每个hibernate版本在集成的时候是不太一样的。本次使用的是hibernate-distribution-3.6.10.Final-dist

一、开发流程

1)在数据库中创建表,代码如下:

CREATE TABLE USER(
id INT PRIMARY KEY AUTO_INCREMENT,
uName VARCHAR() NOT NULL,
uGender CHAR(),
uBirthday DATE);

2)在工程中创建实体类

public class User {
private int id;
private String uName;
private String uGender;
private Date uBirthday; public User() {
// TODO Auto-generated constructor stub
} public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getuName() {
return uName;
} public void setuName(String uName) {
this.uName = uName;
} public String getuGender() {
return uGender;
} public void setuGender(String uGender) {
this.uGender = uGender;
} public Date getuBirthday() {
return uBirthday;
} public void setuBirthday(Date uBirthday) {
this.uBirthday = uBirthday;
}

3)创建对象和表的映射文件,*.hbm.xml。User.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> <hibernate-mapping
package="com.huitong.entity"> <class name="User" table="user"> <id name="id" column="id">
<generator class="native"/>
</id> <property name="uName" column="uName"></property>
<property name="uGender" column="uGender"></property>
<property name="uBirthday" column="uBirthday"></property> </class>
</hibernate-mapping>

4)hibernate的配置文件,放在src/目录下。hibernate.cfg.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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///day17?useSSL=true</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property> <property name="hibernate.show_sql">true</property> <!-- 加载映射文件 -->
<mapping resource="com/huitong/entity/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>

小技巧:在myeclipse中要将多个jar文件配置到classpath中:

<1>首先点中第一个jar包

<2>shift+点击最后一个jar文件,选中所有jar文件

5)简单测试

    public void fun1(){
User user = new User();
user.setuName("good");
user.setuBirthday(new Date()); Configuration configuration = new Configuration();
configuration.configure(); SessionFactory sf = configuration.buildSessionFactory();
Session session = sf.openSession(); Transaction bt = session.beginTransaction();
session.save(user);
bt.commit(); session.close();
sf.close(); }

5)当有多个配置文件时,使用include进行包含

<include file="com/baidu/action/AdminConfig.xml"></include>

hibernate开发流程的更多相关文章

  1. 一。Hibernate 开发流程

    一.hibernate和mybatis都是orm产品1.orm:object-realation-mapping对象关系映射 二.开发步骤1.导入相关jar 包括hibernate和oracle的驱动 ...

  2. Hibernate 开发流程

    Hibernate内部分装的技术:JDBC(Java Data Base Connectivity), JTA(Java Transaction API) , JNDI(Java Naming and ...

  3. Hibernate的基本开发流程

    一.Hibernate开发的基本流程 二.Hibernate开发的环境搭建 1.引入Hibernate核心包以及Hibernate依赖包即可.可以在Hibernate目录下的\lib\required ...

  4. Hibernate工作流程

    Hibernate创建步骤 (五大核心接口:Configuration/SessionFactory/Session/Transaction/Query) 1.新建工程,导入需要的jar包. 2.利用 ...

  5. 一 Struts2 开发流程

    SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...

  6. mybatis与hibernate运行流程比较

    hibernate长时间没用,感觉生疏了,正好借这篇文章整合下知识,顺便复习比较下两种框架. 概述: Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己 ...

  7. Spring详细基本开发流程

    LOGO 文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star! 搜索关注微信公众号 码出Offer 领取各种学习资料! 一.Spring概述 1.1 Web开发中的一些问 ...

  8. Linux下服务器端开发流程及相关工具介绍(C++)

    去年刚毕业来公司后,做为新人,发现很多东西都没有文档,各种工具和地址都是口口相传的,而且很多时候都是不知道有哪些工具可以使用,所以当时就想把自己接触到的这些东西记录下来,为后来者提供参考,相当于一个路 ...

  9. 小谈Scrum敏捷开发流程

    一晃眼,有两年没有写博客了,回顾前两年,各种奔波,各种忙碌,也有不少的收获.从今天开始,我要把这些收获都分享在这里. 其实这两年,对我影响最大的是开发流程.总所周知,一个好的开发流程,对于项目的进行, ...

随机推荐

  1. innodb_buffer_pool_size=30G

    Starting program: /usr/local/mysql-5.6.27-linux-glibc2.5-x86_64/bin/mysqld-debug --user=mysql --data ...

  2. 《UNIX环境高级编程》笔记--errno是否是线程安全的?

    当UNIX函数出错时,常常返回一个负数,而且整形变量errno通常被设置为含有附加信息的一个值,例如,open函数如成功,返回 一个非负文件描述符,如果出错就返回-1,在open出错时,有大约15种不 ...

  3. gitignore不起作用解决的方法

    前面有文章介绍了使用gitignore文件的方法,该文件表示过滤规则,可是对已经增加版本号库的文件不能生效,因此须要利用命令将想要忽略的文件从版本号库中删除,比方说.我们对androidproject ...

  4. TurboLinux11system»adjtimex简介

    Adjtimex介绍 linux 系统有两个时钟:一个是由主板电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟.当操作系统关机的时候,用这个来记录时间,但是对于运行 ...

  5. android中共享全局数据的方法

    转自:http://blog.csdn.net/ameyume/article/details/6100756 我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和Vi ...

  6. django:MySQL Strict Mode is not set for database connection 'default'

    ?: (mysql.W002) MySQL Strict Mode is not set for database connection 'default'        HINT: MySQL's ...

  7. Linux下C获取所有可用网卡信息

    在Linux下开发网络程序时,经常会遇到需要取本地网络接口名.IP.广播地址.子网掩码或者MAC地址等信息的需求,最常见的办法是配合宏SIOCGIFHWADDR.SIOCGIFADDR.SIOCGIF ...

  8. go语言基础之闭包捕获外部变量特点

    1.闭包捕获外部变量特点 示例: package main //必须 import "fmt" func main() { a := 10 str := "mike&qu ...

  9. WinForm特效:同时让两个窗体有激活效果

    windows api,一个窗体激活的时候给另外一个发消息 using System; using System.Windows.Forms; using System.Runtime.Interop ...

  10. linux查看当前shell的方法

    这篇文章主要对比一下 source 命令执行shell文件和 ./ping.sh 这种方式执行shell文件的区别. 1. source   ping.sh 这个是在当前的shell 中执行 ping ...