快速创建一个hibernate,helloworld-demo
来源:互联网 发布:好用的软件 编辑:程序博客网 时间:2024/05/16 14:25
1.快速创建一个hibernate--demo.
1.第一步导 jar包 lib 包下的 required所有jar包,lib包 jpa下的jar包,hibernate3.jar核心包
mysql实现的jdbc包commons-collections-3.1.jar
----如果要配置oracle 则导包 ojdbc14-10.2.0.1.0.jar
2.编写实体类 ,定义属性,属性名一般和数据库的类名一致
3.在实体类同包下写一个实体类的映射文件,OR,一般格式为 实体类类名.hbm.xml
类对表,字段对属性
4.配置hibernate配置文件,将数据库等,以及实体类的映射文件 mapping进来一般格式为hibernate.cfg.xml
5.操作hibernate进行数据库操作
代码如下
实体类
package com.xiangshuai.entity;
public class Person {
private Integer id;
private String username;
private String password;
publicPerson(String username, String password) {
super();
this.username= username;
this.password= password;
}
publicPerson() {
super();
//TODO Auto-generated constructor stub
}
publicInteger getId() {
returnid;
}
publicvoid setId(Integer id) {
this.id= id;
}
publicString getUsername() {
returnusername;
}
publicvoid setUsername(String username) {
this.username= username;
}
publicString getPassword() {
returnpassword;
}
publicvoid setPassword(String password) {
this.password= password;
}
}
OR 文件Person.hbm.xml
<?xml version="1.0"encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mappingpackage="com.xiangshuai.entity">
<class name="Person" table="t_person">
<id name="id" column="id" >
<generator class="native"/>
</id>
<property name="username"column="username"></property>
<property name="password"column="password"></property>
</class>
</hibernate-mapping>
======================================================================================
hibernate.cfg.xml配置文件---mysql
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/HibernateConfiguration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factoryname="pserson">
<!-- 方语设置在些文件夹中可以找到D:\OpenSource\frame\hibernate3\hibernate-distribution-3.6.10.Final\project\etc-->
<propertyname="hibernate.dialect">
org.hibernate.dialect.MySQL5InnoDBDialect
</property>
<!--jdbc连接数据库设置 -->
<propertyname="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<propertyname="hibernate.connection.url">
jdbc:mysql:///hibernate3_db
</property>
<propertyname="hibernate.connection.username">root</property>
<propertyname="hibernate.connection.password">30075</property>
<!-- 杂选:在些文件夹中可以找到D:\OpenSource\frame\hibernate3\hibernate-distribution-3.6.10.Final\project\etc-->
<!-- 展示sql到控制台 -->
<propertyname="hibernate.show_sql">true</property>
<!--格式sql -->
<propertyname="hibernate.format_sql">true</property>
<!--自动更新表结构,如梦如果表已存在就沿用表,无就创建表 -->
<propertyname="hibernate.hbm2ddl.aut">update</property>
<mappingresource="com/xiangshuai/entity/Person.hbm.xml" />
</session-factory>
</hibernate-configuration>
hibernate.cfg.xml配置文件---oracle
<?xmlversion="1.0"encoding="UTF-8"?>
<!DOCTYPEhibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- property 元素用于配置Hibernate中的属性
键:值
-->
<!--hibernate.connection.driver_class :连接数据库的驱动 -->
<propertyname="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!--hibernate.connection.username :连接数据库的用户名 -->
<propertyname="hibernate.connection.username">lqx</property>
<!--hibernate.connection.password :连接数据库的密码 -->
<propertyname="hibernate.connection.password">lqx</property>
<!--hibernate.connection.url :连接数据库的地址,路径 -->
<propertyname="hibernate.connection.url">jdbc:oracle:thin:@127.0.0.1:1521:STUDENT</property>
<!-- show_sql: 操作数据库时,会向控制台打印sql语句 -->
<propertyname="show_sql">true</property>
<!-- format_sql: 打印sql语句前,会将sql语句先格式化 -->
<propertyname="format_sql">true</property>
<!-- hbm2ddl.auto: 生成表结构的策略配置
update(最常用的取值):如果当前数据库中不存在表结构,那么自动创建表结构.
如果存在表结构,并且表结构与实体一致,那么不做修改
如果存在表结构,并且表结构与实体不一致,那么会修改表结构.会保留原有列.
create(很少):无论是否存在表结构.每次启动Hibernate都会重新创建表结构.(数据会丢失)
create-drop(极少):无论是否存在表结构.每次启动Hibernate都会重新创建表结构.每次Hibernate运行结束时,删除表结构.
validate(很少):不会自动创建表结构.也不会自动维护表结构.Hibernate只校验表结构.如果表结构不一致将会抛出异常.
-->
<propertyname="hbm2ddl.auto">update</property>
<!--使用的SQL对应的“方言”,此处是Oracle9的“方言”-->
<propertyname="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<!-- hibernate.connection.autocommit:事务自动提交 -->
<propertyname="hibernate.connection.autocommit">true</property>
<!-- 将Session与线程绑定=>只有配置了该配置,才能使用getCurrentSession-->
<propertyname="hibernate.current_session_context_class">thread</property>
<!-- 引入ORM映射文件
填写src之后的路径
-->
<mappingresource="com/xiangshuai/hibernate/User.hbm.xml"/>
</session-factory>
</hibernate-configuration>
======================================================================================
操作hibernate
package com.xiangshuai.test;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.junit.Test;
import com.xiangshuai.entity.Person;
public class Demo1 {
@Test
public void test1(){
Configuration configure = newConfiguration().configure();
SessionFactory sessionFactory =configure.buildSessionFactory();
Session session =sessionFactory.openSession();
Transaction tr =session.beginTransaction();
Person person = new Person("小丫头","congcong");
session.save(person);
tr.commit();
session.close();
}
}
- 快速创建一个hibernate,helloworld-demo
- 创建一个Hibernate 的HelloWorld
- React实战-如何快速创建调试一个Demo程序
- React-scripts 如何快速创建调试一个Demo程序
- Cordova-Android创建及HelloWorld demo
- android 环境安装、helloworld demo 创建运行
- helloworld,一个完整的springmvc入门demo
- 创建一个 HelloWorld Web应用程序
- 1.3创建一个“HelloWorld"程序
- SpringMVC创建一个HelloWorld程序
- Hibernate 中创建Annotation版本的HelloWorld
- 一个Demo快速上手AsyncTask
- 快速创建一个UIBarButtonItem
- 创建一个hibernate helloword
- Tech : 终于创建了一个EJB HelloWorld
- 创建一个Spring的HelloWorld程序
- [Cocos2d-x]创建一个新的HelloWorld
- 04-创建一个web项目HelloWorld
- 最常用的15大Eclipse开发快捷键技巧
- 蓝桥杯非VIP题Java全解(不断更新中...)
- PADS 快捷命令(无模指令)
- C 和 C++的比较
- 数据结构实验之图论一:基于邻接矩阵的广度优先搜索遍历
- 快速创建一个hibernate,helloworld-demo
- eclipse配置Maven插件配置
- VUE第一天
- C++ 实现决策树 ID3 算法
- 我跟编程缘分如何
- dumpsys meminfo执行流程(三)
- C++ Primer Plus 读书笔记——C++的基本特征
- python 数据分析
- 日期计算