hibernate框架一之基本知识及编写一个基本的项目
来源:互联网 发布:网络络建设总结 编辑:程序博客网 时间:2024/06/06 14:15
session/actionQueue/insertions/elementData是保存对象在session管理器的状态:如果一个对象存在则该对象在这个elementData对象中有值,如果不在session管理器中,则该对象在该elementData对象中没有值
session/persistenceContext/entityEntries/map/table是保存程序中关于数据库中的对象的值,程序查询数据库中对象的内容保存在该对象中
hibernate重配置,我们来看看一个简单的hibernate的配置信息,首先我们应该知道一个hibernate是一个持久层框架,所以需要配置连接数据库信息:hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- 这里是提供连接数据库URL --> <property name="hibernate.connection.url">jdbc:mysql://localhost/hibernate</property> <!-- 这里编写的是连接数据库的驱动 --> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <!-- 提供连接数据库的账户 --> <property name="hibernate.connection.username">root</property> <!-- 提供连接数据库的密码 --> <property name="hibernate.connection.password">root</property> <!-- 配置sql的方言:hibernate独有的hql语句:面向对象的数据库语句,通过这个配置转化为相应的底层数据库操作。从而实现了跨数据库平台 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!-- 是否显示程序执行的sql语句 --> <property name="hibernate.show_sql">true</property> <!-- 是否自动更新数据库 --> <property name="hibernate.hbm2ddl.auto">update</property> <!-- 这里配置的是持久层对象,对应的就是数据库的表 --> <mapping resource="com/xingyao/model/User.hbm.xml"/> </session-factory></hibernate-configuration>
我们从hibernate.cfg.xml配置文件中看到了,持久层对象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 package="com.xingyao.model"> <class name="User" > <id name="id" type="java.lang.String"> <generator class="uuid"/> </id> <property name="username" type="java.lang.String"/> <property name="password" type="java.lang.String"/> <property name="createTime" type="java.util.Date"/> </class></hibernate-mapping>
——————————————————————————————————————————我们来谈谈这里面涉及到的标签
:这个是配置所有的mapping的信息,也就是数据库物理表,其中package属性是:如果该mapping下有许多class信息,则用这个指定包名,简化下面的的信息
:配置一个bean对象;其中names属性值是:一个bean对象(包名+类名,如果上文配置了package属性则可以不需要配置包名)
:配置一个bean里面的主键信息;name属性值是:配置在该类中那个属性为主键;type属性值是:指定id的类型
:指定该主键的生成策略;class属性值是:指定该主键采用什么生成策略,我这里用的是uuid(由系统自动生成一个32为的世界唯一的字符串)在后面会专门有一章将生成策略
:指定该类的其他属性值信息;name的属性值是:指定该类的属性,type属性值是:指定该属性的类型
这里我们完成了hibernate的相关配置,但是我们来看看User.hbm.xml对应的bean是怎么写的
package com.xingyao.model;import java.util.Date;public class User { private String id; private String username; private String password; private Date createTime; public String getId() { return id; } public void setId(String 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 Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; }}
——————————————————————————————————————————这里就是一个基本的Bean代码
下面是怎么根据这个bean,怎么创建一个表
@Test public void create_table() { Configuration configuration = new Configuration().configure(); SchemaExport schemaExport = new SchemaExport(configuration); schemaExport.create(true, true); }
- hibernate框架一之基本知识及编写一个基本的项目
- 项目一:SORM基本框架之基本思路
- Struts1框架一之项目的配置及执行流程
- hibernate基本框架及配置
- 框架之Hibernate(一)
- struts+spring+hibernate基本项目框架的搭建(1)
- struts+spring+hibernate基本项目框架的搭建(2)
- Hibernate基本知识(一)
- hibernate框架基本的作用及用法【1】
- 用Hibernate框架编写一个实例
- 开发一个项目需要的基本知识
- JavaScipt基本教程之对象的基本知识
- Java基本知识之基本数据类型的使用
- Hibernate配置文件的编写一
- 搭建一个简单、易用的 Android 项目框架之BaseActivity(一)
- 一个基本的web项目(无任何框架)
- hibernate框架基本搭建及使用
- struts+spring+hibernate基本项目框架的搭建(3)--Struts校验框架的使用
- BZOJ 4720 [Noip2016]换教室——期望DP
- wamp多版本php的配置
- Factorial vs Power
- BSOI_2262.遥控车 (car.pas/c/cpp)
- JVM内存模型(深入理解Java虚拟机学习笔记)
- hibernate框架一之基本知识及编写一个基本的项目
- codeforces 808D
- @Autowired与@Resource的区别
- java开发命名规范总结
- Python的RSA
- 学习curses图形库(四)
- linux后台运行和关闭、查看后台任务
- 窗体动态加载磁盘文件
- 字符串逆置递归写法。