hibernate的环境搭建及简单的增删改查

首先我们需要导入hibernate的jar包,在lib文件夹下有一个必须的文件夹导入里面的jar包即可

第二步创建ORM映射文件放在bean包下,和要映射的bean在一起,然后我们导入约束,我们不用死记硬背,我们可以在



该包下找到hibernate-mapping-3.0.dtd文件打开并复制其内容


然后打开window--Preferences--搜索cata 设置约束文件的查找路径,设为本地文件,可以在不联网的环境下获得提示

我们解压上面的那个jar提取hibernate-mapping-3.0.dtd文件,让后将其设置,在选择url,将上面的url设置即可

如图:


主配置文件也是如此

附上这两个配置文件的内容和bean的代码

<?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 package="bean">
	<class name="Customer" table="cst_customer">
	
		<id name="cust_id" column="cust_id">
	<!-- 生成主键的策略 -->
			<generator class="native"></generator>
		</id>
		<property name="cust_name" column="cust_name"></property>
		<property name="cust_user_id" column="cust_user_id"></property>
		<property name="cust_create_id" column="cust_create_id"></property>
		<property name="cust_source" column="cust_source"></property>
		<property name="cust_industry" column="cust_industry"></property>
		<property name="cust_level" column="cust_level"></property>
		<property name="cust_linkman" column="cust_linkman"></property>
		<property name="cust_phone" column="cust_phone"></property>
		<property name="cust_mobile" column="cust_mobile"></property>
	</class>
</hibernate-mapping>

<?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>
<!-- 分为三大模块 ,文件名为固定格式为:hibernate.cfg.xml-->
	<session-factory>
		<!-- 5个必填项目 -->
		<!-- 找其property在etc文件夹下 -->
		
		<property name="hibernate.connection.url">jdbc:mysql:///study</property>
		<property name="hibernate.connection.username">root</property>
		<property name="hibernate.connection.password">123</property>
		<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
		<!-- 设置数据库方言类型,这种为通用类型,根据不同的数据库引擎会生成不同的方言形式 -->
		<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
		
		
		
		<!-- 三个可选项目 -->
		<!-- 打印执行的sql语句 -->
		<property name="hibernate.show_sql">true</property>
		<!-- 打印的sql语句是否是格式良好的 -->
		<property name="hibernate.format_sql">true</property>
<!-- 		自动导出表结构有四种取值:
		create: 自动创建表,每次框架运行都会创建新表
		create-drop:自动创建表,每次框架运行结束都会删除表
		update:自动创建表,若表存在不会重新创建,若表结构有变化,自动更新表结构,不会删除数据而是重新创建列
		validate:不会自动创建表,每次启动都会验证表结构,若有变化则报错 -->
		<property name="hibernate.hbm2ddl.auto">update</property>
		
		
		
		
		<!-- 关联orm映射文件 -->
		<mapping resource="bean/Customer.hbm.xml"/>
	</session-factory>	
</hibernate-configuration>

public class Customer {
	private long cust_id;
	private String cust_name;
	private long cust_create_id;
	private long cust_user_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;
//set get方法就不粘了 
}

然后我们书写一个测试类运行一下吧!

package test;

import static org.junit.Assert.*;

import java.util.UUID;

import javax.swing.text.DefaultEditorKit.CutAction;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test;

import bean.Customer;

public class test1 {

	@Test
	public void test() {
		//第一步创建配置对象并加载配置
		Configuration configuration = new Configuration();
		//加载默认配置文件
		configuration.configure();
		//得到session工厂,其比较好内存资源
		SessionFactory buildSessionFactory = configuration.buildSessionFactory();
		//使用session工厂创建新的session
		Session session = buildSessionFactory.openSession();
		Transaction transaction = session.beginTransaction();

		try {
			//增
			Customer customer = new Customer();
			customer.setCust_id(2l);
			customer.setCust_name("黑马");
			session.save(customer);
			//查询
			 customer = session.get(Customer.class, 1L);
			System.out.println(customer.toString());
			//改
			session.update(customer);
			//删
			session.delete(customer);
			//提交事物
			transaction.commit();
		}catch (Exception e) {
			transaction.rollback();
		}
		//关闭session
		session.close();
		//关闭session工厂
		buildSessionFactory.close();
	}

}
相关解释我已近写的非常详细了,就不在啰嗦 了,啊,困了,睡觉喽!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值