数据库创建脚本:

  1. drop table person
  2. create table person(
  3. id          varchar(32)         not null primary key,
  4. name        varchar(20)         not null,
  5. password    varchar(20)         not null,
  6. sex         varchar(20)         ,
  7. email       varchar(30)
  8. )

Person类

  1. package org.lz.hibernate;
  2. public class Person { //POJO类
  3. private String id;
  4. private String name;
  5. private String password;
  6. private String sex;
  7. private String email;
  8. public String getId() {
  9. return id;
  10. }
  11. public void setId(String id) {
  12. this.id = id;
  13. }
  14. public String getName() {
  15. return name;
  16. }
  17. public void setName(String name) {
  18. this.name = name;
  19. }
  20. public String getPassword() {
  21. return password;
  22. }
  23. public void setPassword(String password) {
  24. this.password = password;
  25. }
  26. public String getSex() {
  27. return sex;
  28. }
  29. public void setSex(String sex) {
  30. this.sex = sex;
  31. }
  32. public String getEmail() {
  33. return email;
  34. }
  35. public void setEmail(String email) {
  36. this.email = email;
  37. }
  38. }

PersonOperator类:

  1. package org.lz.hibernate;
  2. import org.hibernate.Session;
  3. import org.hibernate.SessionFactory;
  4. import org.hibernate.Transaction;
  5. import org.hibernate.cfg.Configuration;
  6. public class PersonOperator {
  7. private Session session = null;
  8. public PersonOperator() {
  9. Configuration config = new Configuration();
  10. SessionFactory factory = config.configure().buildSessionFactory();
  11. this.session = factory.openSession();
  12. }
  13. // 所有的操作都是通过session来完成的
  14. public void PersonInsert(Person p) {
  15. Transaction tran = this.session.beginTransaction();//开始事物
  16. this.session.save(p);//执行
  17. tran.commit();//提交
  18. }
  19. }

测试方法:

  1. package org.lz.hibernate;
  2. public class TestPO {
  3. public static void main(String[] args) {
  4. Person p = new Person();
  5. p.setId("1");
  6. p.setName("root");
  7. p.setPassword("123456");
  8. p.setSex("男");
  9. p.setEmail("163@163.com");
  10. //通过实例化的Person对象插入数据
  11. PersonOperator po = new PersonOperator();
  12. po.PersonInsert(p);
  13. }
  14. }

配置文件:

person.hbm.xml:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  3. "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
  4. <!--
  5. Mapping file autogenerated by MyEclipse Persistence Tools
  6. -->
  7. <hibernate-mapping>
  8. <class name="org.lz.hibernate.Person" table="PERSON" schema="SCOTT">
  9. <id name="id" type="java.lang.String">
  10. <column name="ID" length="32" />
  11. <generator class="assigned" />
  12. </id>
  13. <property name="name" type="java.lang.String">
  14. <column name="NAME" length="20" not-null="true" />
  15. </property>
  16. <property name="password" type="java.lang.String">
  17. <column name="PASSWORD" length="20" not-null="true" />
  18. </property>
  19. <property name="sex" type="java.lang.String">
  20. <column name="SEX" length="20" />
  21. </property>
  22. <property name="email" type="java.lang.String">
  23. <column name="EMAIL" length="30" />
  24. </property>
  25. </class>
  26. </hibernate-mapping>

hibernate.cfg.xml:

  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <!DOCTYPE hibernate-configuration PUBLIC
  3. "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
  4. "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
  5. <!-- Generated by MyEclipse Hibernate Tools.                   -->
  6. <hibernate-configuration>
  7. <session-factory>
  8. <property name="dialect">
  9. org.hibernate.dialect.Oracle9Dialect
  10. </property>
  11. <property name="connection.url">
  12. jdbc:oracle:thin:@127.0.0.1:1521:ORCL
  13. </property>
  14. <property name="connection.username">scott</property>
  15. <property name="connection.password">tiger</property>
  16. <property name="connection.driver_class">
  17. oracle.jdbc.driver.OracleDriver
  18. </property>
  19. <property name="myeclipse.connection.profile">
  20. OracleDriver
  21. </property>
  22. <property name="show_sql">true</property>
  23. <mapping resource="org/lz/hibernate/Person.hbm.xml" />
  24. </session-factory>
  25. </hibernate-configuration>

简单的使用hibernate插入数据的例子的更多相关文章

  1. 记一次 Hibernate 插入数据中文乱码报错解决

    错误描述 程序运行,向表中插入数据(包含中文)报错:\xE6\xB2\x88\xE9\x9B\xAA... 但是自己另外新建一个数据库手动插入数据中文正常,同样修改数据库,表的编码之后同样不行.而且 ...

  2. hibernate 插入数据时让数据库默认值生效

    用hibernate做数据库插入操作时,在数据库端已经设置了对应列的默认值,但插入的数据一直为null.查找资料发现,原来是hibernate的配置项在作怪. Hibernate允许我们在映射文件里控 ...

  3. Hibernate插入数据效率测试

    硬件配置: 4G内存.CPUi3-2.3 数据库SQL2008 package com.pan.test; import org.hibernate.Session; import org.hiber ...

  4. Hibernate插入数据后获得ID

    很多表的主键都是自增型的,新增的记录使用save()方法保存以后,要获得ID,直接使用getId()就可以了,因为此时记录已经保存进数据库,已经有了ID. 另一种方法是使用MySQL的SELECT L ...

  5. 简单的sqlserver批量插入数据easy batch insert data use loop function in sqlserver

    --example 1: DECLARE @pid INT,@name NVARCHAR(50),@level INT,@i INT,@column2 INT SET @pid=0 SET @name ...

  6. 关于hibernate插入数据到mysql数据库中文乱码问题的解决

    要想解决这个问题就要找到问题的症结所在 1.首先将数据提交到action输出看action里的数据是不是中文乱码,结果很遗憾并不是这里的问题 2.设置数据库连接url: 3.打开mysql安装文件里的 ...

  7. 小学生之Hibernate插入数据修改数据使用数据库默认值的实现

    最近在写一个案例,定时任务对数据库进行更新操作,废话不多说,上代码: @Component("taskJob") public class TaskJob extends Hibe ...

  8. mysql插入数据与删除重复记录的几个例子(收藏)

    mysql插入数据与删除重复记录的几个例子 12-26shell脚本实现mysql数据的批量插入 12-26mysql循环语句插入数据的例子 12-26mysql批量插入数据(insert into ...

  9. mybatis框架(6)---mybatis插入数据后获取自增主键

    mybatis插入数据后获取自增主键 首先理解这就话的意思:就是在往数据库表中插入一条数据的同时,返回该条数据在数据库表中的自增主键值. 有什么用呢,举个例子: 你编辑一条新闻,同时需要给该新闻打上标 ...

随机推荐

  1. linux内核获取当前进程路径分析

    一个简单的问题,·linux下获取当前进程.我们都知道在内核中获取当前进程可以利用current宏 #define get_current() (current_thread_info()->t ...

  2. 转:C语言的编译链接过程的介绍

    11:42:30 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接.编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程.链接 ...

  3. nodejs waterfall的使用

    waterfall(tasks, [callback]) (多个函数依次执行,且前一个的输出为后一个的输入) 按顺序依次执行多个函数.每一个函数产生的值,都将传给下一个函数.如果中途出错,后面的函数将 ...

  4. MySQL8.0新特性

    一.修改密码修改root密码之前要先flush privileges;ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'f ...

  5. 解析button和input type=”button”的区别

    一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...

  6. sqlserver 2005/2008 导入超大sql文件

    SQLCMD -E -dmaster -ic:\Scripts\create_db.sql 安装了Microsoft® SQL Server® 2008 R2 Native Client可用

  7. python 时间和时间戳的转换

    对于时间数据,如2016-05-05 20:28:54,有时需要与时间戳进行相互的运算,此时就需要对两种形式进行转换,在Python中,转换时需要用到time模块,具体的操作有如下的几种: 将时间转换 ...

  8. java环境变量及Eclipse自动编译问题

    环境变量,是在操作系统中一个具有特定名字的对象,它包含了一个或者多个应用程序所将使用到的信息.例如Windows和DOS操作系统中的path环境变量,当要求系统运行一个程序而没有告诉它程序所在的完整路 ...

  9. iClap是什么,能解决什么问题?

    移动互联网时代,APP体验度.用户粘性和活跃度关乎企业命脉,但是市面上使用的办公工具却不足以解决企业存在的问题,iClap应运而生,颠覆互联网企业的传统协作方式,改变了种子用户与企业的互动方式,为企业 ...

  10. GitHub上最热门的11款开源安全工具

    恶意软件分析.渗透测试.计算机取证——GitHub托管着一系列引人注目的安全工具.足以应对各类规模下计算环境的实际需求.  作为开源开发领域的基石,“所有漏洞皆属浅表”已经成为一条着名的原则甚至是信条 ...