`
zhengdl126
  • 浏览: 2542633 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

Hibernate基础和入门:新建表和插入表

    博客分类:
  • java
阅读更多


http://www.youku.com/playlist_show/id_3629207_ascending_1_page_1.html




对象模型【面向对象】:
  表示层  struts2
  业务层  spring
  持久层  Hibernate 【'冬眠' ,把实体对象【对象模型】存在数据库【关系模型】里,解决'阻抗不匹配'--对象到关系的o/r映射】 还有类

似的SUN JDO,apache OJB,TOPLINK,EJB,JPA      好处:操作对象一样来操作关系,更对象化;轻量级框架:没有侵入性,可移植性;
O/R的缺点:批量操作


POJO:最纯粹的对象,不需要继承第三方框架的类或接口。





关系模型【面向关系】:
  数据层





ooa 面向对象的分析
ood 面向对象的设计
oop 面向对象的开发

 

 

 

-----------------------------建立java project:   附eclipse项目下载TestHibernate.rar 

 


 

 

 

-----------1 导包
hibernate 包

mysql包


-----------2 配置hibernate.cfg.xml
参考hibernate.properties
适配器dialect--mysql找到mysql的分页等

<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
      <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/shoppingdb</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password">123456</property>        
   
      
    </session-factory>
</hibernate-configuration>


-----------3 配置日志调试
拷贝log4j.properties到src下即可


-----------4 对象实体类User.java     POJO对象
package com.soyo.TestHernate.entity;

public class User {
    private int id;
    private String username;
    private String password;
    private String ctime;
    private String etime;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getCtime() {
        return ctime;
    }
    public void setCtime(String ctime) {
        this.ctime = ctime;
    }
    public String getEtime() {
        return etime;
    }
    public void setEtime(String etime) {
        this.etime = etime;
    }

   
   
   
}




-----------5 映射文件User.hbm.xml,和实体类放在一个目录下
参考hibernate-distribution-3.3.2.GA-dist\hibernate-distribution-

3.3.2.GA\project\testsuite\src\test\java\org\hibernate\test\interceptor\user.hbm.xml


<?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 >
<!-- table指表名 -->
    <class name="com.soyo.TestHernate.entity.User" table="users">
    <!-- 主键id -->
    <id name="id" column="id"> <generator class="native"/> </id>
    <!-- 一般属性 -->
    <property name="username"/>
    <property name="password"/>
    <property name="ctime"/>
    <property name="etime"/>
    </class>
</hibernate-mapping>




-----------6 将映射文件User.hbm.xml加入到配置hibernate.cfg.xml文件中

修改hibernate.cfg.xml:

<mapping resource="com/soyo/TestHernate/entity/User.hbm.xml"/>
</session-factory>


-----------7 使用Hibernate类把对象模型变为关系模型【生成表】 可执行ExportDB.JAVA,带main函数

package com.soyo.TestHernate.entity;

import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;

public class ExportDB {

    public static void main(String[] args) {
        Configuration cfg = new Configuration().configure();//configure()调取xml
        SchemaExport export = new SchemaExport(cfg);
        export.create(true, true);
    }

}


ExportDB.JAVA:eclpise ->run application
就可自动创建表

-----error:java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder

需另外下载slf4j-nop-1.5.2.jar引入到工程中才行



------------------8 开发客户端Clents.java 带main函数

一个数据库对应一个SessionFactiory

package com.soyo.TestHernate.entity;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class Clents {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Configuration cfg = new Configuration().configure();//configure()调取xml
        SessionFactory factiory = cfg.buildSessionFactory();
       
        Session session = null;
        try{
            session = factiory.openSession();
            session.beginTransaction();//开启事务
           
            User user=new User();
            //user.setId(1);
            user.setUsername("admin");
            user.setPassword("admin");
            user.setCtime("ctime");
            user.setEtime("etime");
           
            session.save(user);
           
            session.getTransaction().commit();//提交事务
        }catch (Exception e) {
            System.err.println(e.getMessage());
            session.getTransaction().rollback();//回滚事务
        }finally{
            if(session!=null)
            {
                session.close();
                }
        }
       
    }

}

  • 大小: 12.9 KB
分享到:
评论

相关推荐

    Acronis Backup:Acronis备份策略设计原理.docx

    Acronis Backup:Acronis备份策略设计原理.docx

    phpEasyVCS-2.0.zip

    phpEasyVCS-2.0.zip

    2023-04-06-项目笔记 - 第三百五十一阶段 - 4.4.2.349全局变量的作用域-349 -2025.12.18

    2023-04-06-项目笔记-第三百五十一阶段-课前小分享_小分享1.坚持提交gitee 小分享2.作业中提交代码 小分享3.写代码注意代码风格 4.3.1变量的使用 4.4变量的作用域与生命周期 4.4.1局部变量的作用域 4.4.2全局变量的作用域 4.4.2.1全局变量的作用域_1 4.4.2.349局变量的作用域_349- 2024-12-18

    【BP回归预测】基于matlab非洲秃鹫算法优化BP神经网络AVOA-BP光伏数据预测(多输入单输出)【Matlab仿真 5152期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    基于java的狄氏皮草服装店销售管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    用户管理: 能够完成用户基本信息录入的注册和用户基本信息的修改。 管理员管理: 能够完成管理员对网站的商品信息管理(商品添加、商品审查)、会员管理(会员审查)、网站信息管理(新闻添加、修改删除、公告设置),以及常规设置(广告添加,友情链接)的功能。 搜索功能: 能过电子商品的名称进行搜索。 查询功能: 能够通过查看购物车对所选商品进行确定、挑选。 环境说明: 开发语言:Java,jsp JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea 部署容器:tomcat

    BLE蓝牙单片机CC2540、CC2541带OSAL操作系统的项目实战开发例程-蓝牙游戏手柄例程(空中鼠标键盘、体感游戏手柄).zip

    1、嵌入式物联网单片机项目开发例程,简单、方便、好用,节省开发时间。 2、代码使用IAR软件开发,当前在CC2540/CC2541上运行,如果是其他型号芯片,请自行调整。 3、软件下载时,请注意接上硬件,并确认烧录器连接正常。 4、有偿指导v:wulianjishu666; 5、如果接入其他传感器,请查看账号发布的其他资料。 6、单片机与模块的接线,在代码当中均有定义,请自行对照。 7、若硬件有差异,请根据自身情况调整代码,程序仅供参考学习。 8、代码有注释说明,请耐心阅读。 9、例程具有一定专业性,非专业人士请谨慎操作。

    【BP回归预测】基于matlab哈里斯鹰算法优化BP神经网络HHO-BP光伏数据预测(多输入单输出)【Matlab仿真 5155期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【BP回归预测】基于matlab飞蛾扑火算法优化BP神经网络MFO-BP光伏数据预测(多输入单输出)【Matlab仿真 5151期】.zip

    CSDN Matlab研究室上传的资料均有对应的仿真结果图,仿真结果图均是完整代码运行得出,完整代码亲测可用,适合小白; 1、完整的代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描博客文章底部QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    IO总结总结总结总结总结

    IO总结总结总结总结总结

    基于java的人人乐超市采购管理系统源代码(完整前后端+mysql+说明文档+LW).zip

    系统能够对客户信息管理、订单管理、商品信息管理、供应商管理、库存管理,系统用户管理等信息提供存储、更新、查询、统计的功能。 环境说明: 开发语言:Java,jsp JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea 部署容器:tomcat

    基于java的视频教学考试网源代码(完整前后端+mysql+说明文档+LW).zip

    前台模块: 站内新闻:发布与视频教学相关的新闻和动态。 视频学习:提供视频教学内容,供用户学习。 在线留言:用户可以在线提交留言或反馈。 用户注册:允许新用户注册成为网站的会员。 在线论坛:提供一个在线讨论的平台。 资料下载:提供学习资料或其他相关文件的下载服务。 管理员模块: 系统用户管理:管理系统用户的账户信息。 注册用户管理:管理注册用户的资料和信息。 教师信息管理:管理教师的资料和信息。 站内新闻管理:管理网站新闻内容的发布和更新。 课程信息:管理课程的相关信息。 资料下载管理:管理可供下载的资料。 论坛管理:管理在线论坛的内容和用户互动。 注册用户模块: 教师资料修改:教师可以修改自己的个人信息。 作业发布管理:用户可以发布作业或相关任务。 在线资料下载:注册用户可以下载在线资料。 学生资料管理:学生可以管理自己的资料。 学生下载作业:学生可以下载教师发布的作业。 环境说明: 开发语言:Java,jsp JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea 部署容器:tomcat

    汉普美的ERP简介、实施、应用.ppt

    汉普美的ERP简介、实施、应用.ppt

    深圳混泥土搅拌站资金、现金、费用管理规定.docx

    深圳混泥土搅拌站资金、现金、费用管理规定

    worldgroup manager(瀛海威时空客户端英文原版)

    98年的telnetBBS软件,配合worldgroup server使用(16位),是瀛海威时空客户端的英文原版。

    5aaaaaaaaaaaaaaaaaaaaaa

    5aaaaaaaaaaaaaaaaaaaaaa

    基础的Go微服务框架.zip

    这个项目是一个基础的Go微服务框架,适合作为微服务架构的学习项目。希望这个项目能帮助你入门Go语言的微服务开发!

    2024-2030中国核苷酸市场现状研究分析与发展前景预测报告 Sample Yuan.pdf

    此为报告样本,完整报告的框架结构

    传送带中大块煤识别检测数据集,使用coco json格式对792张图片标注

    传送带中大块煤识别检测数据集,使用coco json格式对792张图片标注,标注图片和标注信息可参考博文:https://backend.blog.csdn.net/article/details/144513245

    DLLDirectX文件快速修复工具

    此工具能快速有效的修复系统缺失的DLL和DirectX文件

    计算机组成原理课程设计(模型机).doc

    计算机组成原理课程设计(模型机).doc

Global site tag (gtag.js) - Google Analytics