【极客营】Hibernate入门到精通- hibernate的快速入门
2018-02-26 14:05
381 查看
作者:何征天
课程视频地址:https://ke.qq.com/course/273907hibernate的jar包下载和导入1. 下载相应的jar包等
* http://sourceforge.net/projects/hibernate/files/hibernate-orm/5.0.7.Final/hibernate-release-5.0.7.Final.zip/download
2. 解压后对目录结构有一定的了解
Hibernate开发包内容:
Jar包的导入(开发环境的搭建)
新建web工程Hibernate5_d01_c03
引入Hibernate开发所需要的jar包
* MySQL的驱动jar包
* Hibernate开发需要的jar包(资料/hibernate-release-5.0.7.Final/lib/required/所有jar包)
基于hibernate实现数据库表CRUD的操作(重点)
开发准备和配置(三个准备,7个步骤)
【第一个准备】:创建表结构:
create database hibernate_day01; use hibernate_day01; CREATE TABLE `cst_customer` ( `cust_id` bigint(32) NOT NULL AUTO_INCREMENT COMMENT '客户编号(主键)', `cust_name` varchar(32) NOT NULL COMMENT '客户名称(公司名称)', `cust_user_id` bigint(32) DEFAULT NULL COMMENT '负责人id', `cust_create_id` bigint(32) DEFAULT NULL COMMENT '创建人id', `cust_source` varchar(32) DEFAULT NULL COMMENT '客户信息来源', `cust_industry` varchar(32) DEFAULT NULL COMMENT '客户所属行业', `cust_level` varchar(32) DEFAULT NULL COMMENT '客户级别', `cust_linkman` varchar(64) DEFAULT NULL COMMENT '联系人', `cust_phone` varchar(64) DEFAULT NULL COMMENT '固定电话', `cust_mobile` varchar(16) DEFAULT NULL COMMENT '移动电话', PRIMARY KEY (`cust_id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; |
1. 在src目录下,创建名称为hibernate.cfg.xml的配置文件
2. 在XML中引入DTD约束
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> |
打开:资料/hibernate-release-5.0.7.Final/project/etc/hibernate.properties,可以查看具体的配置信息
* 必须配置的4大参数
#hibernate.connection.driver_classcom.mysql.jdbc.Driver
#hibernate.connection.urljdbc:mysql:///test
#hibernate.connection.usernamegavin
#hibernate.connection.password
* 数据库的方言(必须配置的)
#hibernate.dialectorg.hibernate.dialect.MySQLDialect
* 可选的配置
#hibernate.show_sqltrue
#hibernate.format_sqltrue
#hibernate.hbm2ddl.autoupdate
* 引入映射配置文件(一定要注意,要引入映射文件,框架需要加载映射文件)
* <mapping
resource="com/igeek/demo1/Customer.hbm.xml"/>
4. 具体的配置如下
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql:///hibernate_day01</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123456</property> <property name="hibernate.dialect org.hibernate.dialect.MySQLDialect"></property> </session-factory> </hibernate-configuration> |
packagecom.igeek.demo1; import org.hibernate.cfg.Configuration; import org.junit.Test; publicclass TestCustomer { @Test publicvoid run1(){ //hibernate读取连接数据的配置文件hibernate.cfg.xml Configuration config = new Configuration(); config.configure(); //连接数据库 SessionFactory factory = config.buildSessionFactory(); } } |
packagecom.igeek.demo1; import org.hibernate.cfg.Configuration; import org.junit.Test; publicclass TestCustomer { @Test publicvoid run1(){ //hibernate读取连接数据的配置文件hibernate.cfg.xml Configuration config = new Configuration(); config.configure(); //连接数据库 SessionFactory factory = config.buildSessionFactory(); } } |
【编写Customer实体类】:
在com.igeekdemo1包中创建Customer.java类,类中代码如下:
1. Customer类的代码如下:
publicclass Customer { private Long cust_id; private String cust_name; private Long cust_user_id; private Long cust_create_id; private String cust_source; private String cust_industry; private String cust_level; private String cust_linkman; private String cust_phone; private String cust_mobile; // 省略get和set方法 } |
1. 在JavaBean所在的包下创建映射的配置文件
* 默认的命名规则为:实体类名.hbm.xml
* 在xml配置文件中引入约束(引入的是hibernate3.0的dtd约束,不要引入4的约束)
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> |
* 先复制http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd --> window--> preferences --> 搜索xml --> 选择xml catalog --> 点击add --> 选择URI --> 粘贴复制的地址 --> 选择location,选择本地的DTD的路径
【请注意】在配置完catalog之后,需要重新打开Customer.hbm.xml文件
3. 编写映射的配置文件
<?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-mapping> <class name="com.igeek.demo1.Customer" table="cst_customer"> <id name="cust_id" column="cust_id"> <generator class="native"></generator> </id> <property name="cust_name" column="cust_name"/> <property name="cust_user_id" column="cust_user_id"/> <property name="cust_create_id" column="cust_create_id"/> <property name="cust_source" column="cust_source"/> <property name="cust_industry" column="cust_industry"/> <property name="cust_level" column="cust_level"/> <property name="cust_linkman" column="cust_linkman"/> <property name="cust_phone" column="cust_phone"/> <property name="cust_mobile" column="cust_mobile"/> </class> </hibernate-mapping> |
<mapping resource="com/igeek/demo1/Customer.hbm.xml"/> |
保存(插入)数据
在TestCustomer类中编写testSave方法用来保存数据,代码如下:
publicclass TestCustomer { @Test publicvoid testSave(){ //先加载配置文件,默认是src目录下的hibernate.cfg.xml Configuration config = new Configuration().configure(); //创建sessionFactory对象 SessionFactory factory = config.buildSessionFactory(); //创建session对象 Session session = factory.openSession(); //开启事务 Transaction tr = session.beginTransaction(); //编写保存代码 Customer c = new Customer(); c.setCust_name("刘亦菲"); c.setCust_mobile("1381383838888"); //保存客户 session.save(c); //提交事务 tr.commit(); //释放资源 session.close(); factory.close(); } } |
相关文章推荐
- 【极客营】Hibernate入门到精通-Hibernate概述
- Hibernate快速入门
- Hibernate入门到精通-懒加载
- JEECG快速深度学习—入门到精通实战
- Java开源项目Hibernate快速入门
- Struts+Spring+Hibernate快速入门
- Hibernate快速入门--安装过程及最基本的功能
- MyEclipse Hibernate 快速入门 中文版
- Hibernate从入门到精通(八)一对多单向关联映射
- Hibernate 3.2 从入门到精通学习推荐
- Hibernate 的原理与配置快速入门
- hibernate快速入门案例
- JAVA框架三剑客 - Struts+Spring+Hibernate快速入门
- Hibernate基础:快速入门(3):SessionFactory和Session
- 一点感想及aix如何快速入门到精通(转)
- Struts+Spring+Hibernate快速入门
- Java开源项目Hibernate快速入门
- Eclipse快速上手Hibernate之入门实例
- 【Hibernate】(一)快速入门
- 【Hibernate】从入门到精通(一)概览