- 浏览: 147638 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
liaozhi_ITOYO:
...
ibatis 学习笔记(一) 批量处理 存储过程 -
boy_scarecrow:
不错,借鉴了!
ibatis 学习笔记(一) 批量处理 存储过程 -
qingyushan:
羡慕啊
假如我是JAVA开发人员 -
salever:
不错,貌似少一点超时设置
Java Tcp Socket聊天系统模型(主要为了学习线程) -
zhaotao_king:
不错!~
假如我是JAVA开发人员
Hibernate 创建表
1,首先数据库必须存在,然后在数据库中创建表(使用hibernate)
2,创建配置文件hibernate.cfg.xml
注意:这个一定要加上
3,创建一个JavaBean ,Event类(javabean)
4,创建Event类的配置文件Event.hbm.xml
5,创建测试类
运行结果
目录:
1,首先数据库必须存在,然后在数据库中创建表(使用hibernate)
2,创建配置文件hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!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.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:ORCL</property> <property name="hibernate.connection.username">scott</property> <property name="hibernate.connection.password">tiger</property> <property name="dialect">org.hibernate.dialect.OracleDialect</property> <property name="hibernate.show_sql">true</property> <property name="hibernate.hbm2ddl.auto">create</property> <mapping resource="config/Event.hbm.xml" /> </session-factory> </hibernate-configuration>
注意:这个一定要加上
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
3,创建一个JavaBean ,Event类(javabean)
package events; import java.util.Date; public class Event { private Long id; private String title; private Date date; public Event() {} public Long getId() { return id; } private void setId(Long id) { this.id = id; } public Date getDate() { return date; } public void setDate(Date date) { this.date = date; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }
4,创建Event类的配置文件Event.hbm.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name = "events.Event" table ="events"> <id name = "id" column = "events_id"> <generator class = "native"/> </id> <property name = "date" type ="date" column = "event_date" /> <property name = "title" type = "string" column = "event_title" /> </class> </hibernate-mapping>
5,创建测试类
package events; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; public class ExportDB { public static void main(String[] args) { Configuration configuration=new Configuration().configure("config/hibernate.cfg.xml"); SchemaExport schemaExport=new SchemaExport(configuration); schemaExport.create(true, true); // 插入数据 SessionFactory sessionFactory = configuration.buildSessionFactory(); Session session = sessionFactory.openSession(); Transaction tx = session.beginTransaction(); Event theEvent = new Event(); theEvent.setTitle("title"); theEvent.setDate(new Date()); session.save(theEvent); tx.commit(); // //查询数据 Query query = session.createQuery("from Event"); List list = query.list(); Iterator i = list.iterator(); Event event = (Event) i.next(); while (i.hasNext()) { System.out.println(event.getId()); System.out.println(event.getTitle()); System.out.println(event.getDate()); } // 更新数据 // Transaction tx1 = null; // try { // tx = session.beginTransaction(); // Event obj = (Event )session.load(Event.class,event.getId()); // obj.setTitle("title1"); // session.update(obj); // }catch (Exception e){ // e.printStackTrace(); // } Transaction tx3 = null; String sql = "select * from Event"; Query query1 = session.createSQLQuery(sql); // query1.setInteger(0, 1); List list1 = query.list(); Iterator it = list1.iterator(); tx3 = session.beginTransaction(); while (it.hasNext()) { Event user = (Event) it.next(); // 这里就是你要修改的字段啊,多个,你要都写出来 user.setTitle("男"); // 然后更新回去 session.update(user); } tx3.commit(); } } }
运行结果
2009-11-11 10:32:41 org.hibernate.cfg.Environment <clinit> 2009-11-11 15:12:06 org.hibernate.cfg.Environment <clinit> 信息: Hibernate 3.2.0 2009-11-11 15:12:06 org.hibernate.cfg.Environment <clinit> 信息: hibernate.properties not found 2009-11-11 15:12:06 org.hibernate.cfg.Environment buildBytecodeProvider 信息: Bytecode provider name : cglib 2009-11-11 15:12:06 org.hibernate.cfg.Environment <clinit> 信息: using JDK 1.4 java.sql.Timestamp handling 2009-11-11 15:12:06 org.hibernate.cfg.Configuration configure 信息: configuring from resource: config/hibernate.cfg.xml 2009-11-11 15:12:06 org.hibernate.cfg.Configuration getConfigurationInputStream 信息: Configuration resource: config/hibernate.cfg.xml 2009-11-11 15:12:06 org.hibernate.cfg.Configuration addResource 信息: Reading mappings from resource: config/Event.hbm.xml 2009-11-11 15:12:06 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues 信息: Mapping class: events.Event -> events 2009-11-11 15:12:06 org.hibernate.cfg.Configuration doConfigure 信息: Configured SessionFactory: null 2009-11-11 15:12:06 org.hibernate.dialect.Dialect <init> 信息: Using dialect: org.hibernate.dialect.OracleDialect 2009-11-11 15:12:06 org.hibernate.tool.hbm2ddl.SchemaExport execute 信息: Running hbm2ddl schema export 2009-11-11 15:12:06 org.hibernate.tool.hbm2ddl.SchemaExport execute 信息: exporting generated schema to database 2009-11-11 15:12:06 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: Using Hibernate built-in connection pool (not for production use!) 2009-11-11 15:12:06 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: Hibernate connection pool size: 20 2009-11-11 15:12:06 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: autocommit mode: false 2009-11-11 15:12:06 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@127.0.0.1:1521:ORCL 2009-11-11 15:12:06 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: connection properties: {user=scott, password=****} drop table events cascade constraints drop sequence hibernate_sequence create table events (events_id number(19,0) not null, event_date date, event_title varchar2(255), primary key (events_id)) create sequence hibernate_sequence 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.SchemaExport execute 信息: schema export complete 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider close 信息: cleaning up connection pool: jdbc:oracle:thin:@127.0.0.1:1521:ORCL 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: Using Hibernate built-in connection pool (not for production use!) 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: Hibernate connection pool size: 20 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: autocommit mode: false 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: using driver: oracle.jdbc.driver.OracleDriver at URL: jdbc:oracle:thin:@127.0.0.1:1521:ORCL 2009-11-11 15:12:07 org.hibernate.connection.DriverManagerConnectionProvider configure 信息: connection properties: {user=scott, password=****} 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: RDBMS: Oracle, version: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: JDBC driver: Oracle JDBC driver, version: 10.1.0.2.0 2009-11-11 15:12:07 org.hibernate.dialect.Dialect <init> 信息: Using dialect: org.hibernate.dialect.OracleDialect 2009-11-11 15:12:07 org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory 信息: Using default transaction strategy (direct JDBC transactions) 2009-11-11 15:12:07 org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup 信息: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Automatic flush during beforeCompletion(): disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Automatic session close at end of transaction: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: JDBC batch size: 15 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: JDBC batch updates for versioned data: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Scrollable result sets: enabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: JDBC3 getGeneratedKeys(): disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Connection release mode: auto 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Default batch fetch size: 1 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Generate SQL with comments: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Order SQL updates by primary key: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory 信息: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 2009-11-11 15:12:07 org.hibernate.hql.ast.ASTQueryTranslatorFactory <init> 信息: Using ASTQueryTranslatorFactory 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Query language substitutions: {} 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: JPA-QL strict compliance: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Second-level cache: enabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Query cache: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory createCacheProvider 信息: Cache provider: org.hibernate.cache.NoCacheProvider 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Optimize cache for minimal puts: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Structured second-level cache entries: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Echoing all SQL to stdout 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Statistics: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Deleted entity synthetic identifier rollback: disabled 2009-11-11 15:12:07 org.hibernate.cfg.SettingsFactory buildSettings 信息: Default entity-mode: pojo 2009-11-11 15:12:07 org.hibernate.impl.SessionFactoryImpl <init> 信息: building session factory 2009-11-11 15:12:07 org.hibernate.impl.SessionFactoryObjectFactory addInstance 信息: Not binding factory to JNDI, no JNDI name configured 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.SchemaUpdate execute 信息: Running hbm2ddl schema update 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.SchemaUpdate execute 信息: fetching database metadata 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.SchemaUpdate execute 信息: updating schema 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.TableMetadata <init> 信息: table found: SCOTT.EVENTS 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.TableMetadata <init> 信息: columns: [events_id, event_date, event_title] 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.TableMetadata <init> 信息: foreign keys: [] 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.TableMetadata <init> 信息: indexes: [sys_c005412] 2009-11-11 15:12:07 org.hibernate.tool.hbm2ddl.SchemaUpdate execute 信息: schema update complete Hibernate: select hibernate_sequence.nextval from dual Hibernate: insert into events (event_date, event_title, events_id) values (?, ?, ?) Hibernate: select event0_.events_id as events1_0_, event0_.event_date as event2_0_, event0_.event_title as event3_0_ from events event0_ Hibernate: select event0_.events_id as events1_0_, event0_.event_date as event2_0_, event0_.event_title as event3_0_ from events event0_ Hibernate: update events set event_date=?, event_title=? where events_id=?
目录:
发表评论
-
Spring ibatis批处理
2009-12-15 18:05 2688Spring ibatis批处理 [b] 方法一[/b] ... -
ibatis 学习笔记(一) 批量处理 存储过程
2009-12-14 11:49 10975/* *在项目中,遇到这样的一个问题,当某一模块需要插入,更 ... -
hibernate 多条件查询
2009-10-30 17:34 1617public List<Client> searc ... -
外键查询 遇到错误:could not initialize proxy - the owning Session was close
2009-10-30 15:24 1242这是用Struts和Hibernate搭 ... -
Hibernate query 学习笔记
2009-10-30 14:47 4618Hibernate学习笔记 HQL 注意事项: 1.请把以 ... -
Hibernate基于外键查询
2009-10-30 12:39 981public List<Order> ge ...
相关推荐
标题"hibernate入门数据简单插入"指的是使用Hibernate框架进行数据库的基本操作,特别是数据的插入。Hibernate是一个开源的对象关系映射(ORM)框架,它允许Java开发者在应用程序中处理数据库对象,而无需直接编写...
标题“Hibernate基础和入门:新建表和插入表”表明这篇内容将主要围绕Hibernate这一Java持久化框架的基础知识展开,重点讲解如何使用Hibernate创建数据库表以及进行数据插入操作。Hibernate是一个强大的ORM(对象...
例如,使用`Session.flush()`和`Session.clear()`控制事务边界,或配置`hibernate.jdbc.batch_size`来批量插入、更新和删除数据。 7. **避免N+1查询问题**: 当遍历一个集合并访问其关联属性时,可能会触发多次...
在 Java 代码中,你可以创建 `User` 和 `Role` 实例,并通过 `add` 方法添加到对方的集合中,Hibernate 会自动处理中间表的插入和更新。 ```java User user = new User(); user.setUsername("testUser"); Role ...
1. **创建实体类**: 在Hibernate中,我们首先需要创建一个实体类来映射数据库表。对于图片数据,我们可以定义一个属性,例如`byte[] imageData`,并使用`@Lob`注解标记它,告诉Hibernate这是一个BLOB类型。此外,还...
1. 首先,确保已安装并配置好Oracle数据库,创建一个可以存储图片的表,包含一个BLOB类型的字段。 2. 下载并导入Hibernate所需的jar包,这些包通常包括hibernate-core、hibernate-entitymanager等,确保项目中已添加...
本篇将详细探讨“Hibernate插入数据”的相关知识点,结合学习心得,深入理解并掌握其核心原理与实践技巧。 首先,Hibernate通过对象关系映射(ORM)技术,将数据库表与Java类关联起来,使得数据库操作可以通过对象...
例如,如果有一个名为`User`的表,我们可以创建一个对应的`User.java`类,使用`@Entity`注解标记为Hibernate实体,`@Id`注解标识主键字段。 三、映射文件配置 在Hibernate中,实体类与数据库表之间的映射是通过`....
它不会创建新表,也不会更新现有表,但允许插入新数据。 配置这些选项通常在Hibernate的`hibernateProperties`中完成,例如: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate4....
Hibernate提供了Session、SessionFactory、Query等接口,方便我们进行CRUD(创建、读取、更新、删除)操作。 在实现树结构时,我们需要定义一个实体类,该类代表树中的一个节点,比如一个部门或者一个目录。实体类...
本篇文章将深入探讨使用Hibernate进行多对多数据表操作,特别是插入操作的细节。 在数据库设计中,多对多(Many-to-Many)关系是指一个实体可以与多个其他实体关联,反之亦然。例如,学生和课程之间的关系就是典型...
接着,通过Hibernate的Session接口创建Criteria对象并添加条件,最后执行查询,获取结果。 总结来说,模仿Hibernate生成SQL语句需要对Hibernate的ORM机制有深入理解,包括实体类的定义、属性映射、查询API的使用,...
通过创建和使用这样一个超好用的Hibernate查询工具类,我们可以更高效地管理和操作数据库,降低开发复杂度,让开发者能够专注于业务逻辑,而不是底层的数据库交互。在大型项目中,这样的工具类是不可或缺的,它提升...
这篇博客"Hibernate学习一--注解方式自动建表"主要探讨了如何使用Hibernate的注解来实现数据库表的自动化创建。 在Java编程中,注解(Annotation)是一种元数据,它提供了在代码中插入信息的方式,这些信息可以被...
1. **配置Hibernate的自动DDL生成**:默认情况下,Hibernate提供了`hibernate.hbm2ddl.auto`属性,可以设置为"create"、"update"等值,使得在应用启动时根据实体类自动创建或更新数据库表。为了实现自动新增参数,...
在使用Hibernate进行数据库操作时,有时会遇到一个常见的问题,即当从数据库中查询Date类型的数据并由Hibernate返回时,发现结果中的时分秒部分不正确。这个问题通常源于多个因素,包括日期时间的序列化与反序列化...
Hibernate支持HQL(Hibernate查询语言)和SQL,可以方便地执行查询、更新和删除操作。 整合Spring和Hibernate,我们需要以下步骤: 1. **配置Hibernate**:首先,我们需要在Spring配置文件中引入Hibernate的相关库...
批处理是 Hibernate 中一种提高性能的方法,特别是在进行大量数据的插入、更新或删除时尤为明显。 - **默认行为** - 默认情况下,Hibernate 每次执行一条 SQL 语句后都会自动提交事务。 - **批量处理** - 可以...
本实验手册介绍了 Hibernate 的基本概念和使用方法,包括创建数据库和表、创建 Hibernate 项目、使用反向工程快速生成 Java POJO 类、映射文件和 DAO、编写测试类和使用 HQL 语句查询数据等内容。