hibernate简单入门

  1. 什么是hibernate
    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的JaveEE架构中取代CMP,完成数据持久化的重任。
    优势:跨数据库的无缝移植

代码讲解:
1.新建maven工程—》在 https://mvnrepository.com/ 搜索 pom.xml 里面配置自己所需要的jar包
2.新建一个xml包

<?xml version="1.0" encoding="UTF-8"?> //导入jar包的dtd文件 root//mysql的登入名 123//mysql登入密码 jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=UTF-8//连接mysql的连接端口 “mysql?”是你的数据库名 com.mysql.jdbc.Driver org.hibernate.dialect.MySQLDialect//基本这两项为死数据,导入jar包正确就能使用 thread true true //User.hbm.xml存路径到这里使用 3. User.hbm.xml文件,可以和entity实体类包同一级 <?xml version="1.0" encoding="UTF-8"?> //在这里不放实体类代码 //对应实体类的数据操作

4.演示新增功能
public class Add {

public static void main(String[] args) {
	/**
	 * 1.对hibertnate.cfg.xml建模
	 * 2.通过建模所得到的config文件类,获取所配置的sessionfactory
	 * 3.获取session会话
	 * 4.开启事务
	 * 5.操作数据库
	 * 6.提交事务
	 * 7.关闭session会话
	 */
	//对应以上七步操作
	Configuration cfg = new Configuration().configure("hibernate.cfg.xml");
	SessionFactory sessionFactory = cfg.buildSessionFactory();
	Session session = sessionFactory.openSession();
	Transaction transaction = session.beginTransaction();
	//数据操作
	User user = new User();
	user.setBirthday(new Date(new java.util.Date().getTime()));
	user.setReal_name("麻子");
	user.setUser_name("粒子");
	user.setSex("女");
	user.setRemark("性别男,爱好人类");
	user.setUser_pwd("123456");
	session.save(user);
	
	transaction.commit();//提交
	session.close();//关闭
}

}

运行后控制台的展示,新增成功
在这里插入图片描述

  1. OID属性
    与数据库主键列映射的属性
    SessionFactory对象的创建代价很昂贵,它是线程安全的对象,它为所有的应用程序线程所共享。它只创建一次,通常是在应用程序启动的时候,由一个Configuraion的实例来创建

Session对象的创建代价比较小,是非线程安全的,对于单个请求,单个会话、单个的 工作单元而言,它只被使用一次,然后就丢弃。只有在需要的时候,一个Session对象 才会获取一个JDBC的Connection(或一个Datasource) 对象,因此假若不使用的时候它不消费任何资源。

Hibernate3.3.2版本中getSession().connection()已被弃用,hibernate4中官方推荐使用Session doWork()方法进行jdbc操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值