Hibernate快速入门
Posted NEWHOM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate快速入门相关的知识,希望对你有一定的参考价值。
第一步:下载Hibernate5的运行环境
https://sourceforge.net/projects/hibernate/files/hibernate-orm/
第二步:在数据库创建表
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=94 DEFAULT CHARSET=utf8;
第三步:搭建Hibernate的开发环境
创建WEB工程并且引入Hibernate所需要的包
mysql的驱动jar包
Hibernate开发需要的jar包(/lib/required/所有jar包)
日志jar包(资料/jar包/log4j/所有jar包)
第四步:编写JavaBean实体类
public class 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方法 }
第五步:创建类与表结构的映射
<?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.itheima.domain.Customer" table="cst_customer"> <id name="cust_id" column="cust_id"> <generator class="native"/> </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>
第六步:编写Hibernate核心的配置文件
<?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">root</property> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <mapping resource="com/itheima/domain/Customer.hbm.xml"/> </session-factory> </hibernate-configuration>
第七步:编写Hibernate入门代码
/** * 测试保存客户 */ @Test public void testSave(){ // 先加载配置文件 Configuration config = new Configuration(); // 默认加载src目录下的配置文件 config.configure(); // 创建SessionFactory对象 SessionFactory factory = config.buildSessionFactory(); // 创建session对象 Session session = factory.openSession(); // 开启事务 Transaction tr = session.beginTransaction(); // 编写保存代码 Customer c = new Customer(); // c.setCust_id(cust_id); 已经自动递增 c.setCust_name("测试名称"); c.setCust_mobile("110"); // 保存客户 session.save(c); // 提交事务 tr.commit(); // 释放资源 session.close(); factory.close(); }
以上是关于Hibernate快速入门的主要内容,如果未能解决你的问题,请参考以下文章