栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Hibernate入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Hibernate入门

1、什么是hibernate

    ①、ORM框架/持久层框架    jdbc的一个框架;

    ②、object reference mapping    对象关系映射;

    ③、 通过管理对象来改变数据库中的数据 ,通过管理对象来操作数据库;

优势:跨数据库的无缝移植

2. 如何在项目中添加hibernate支持(手动添加)

  1 添加hibernate相关依赖

  2 在resource目录下添加hibernate.cfg.xml(核心配置文件)

   ① 添加DTD支持

   ② 添加Hibernate的配置

    (1) 数据库相关

(connection.username|connection.password|connection.url|connection.driver_class|dialect)

    (2) 调试相关(show_sql|format_sql)

  3 在开发阶段再创建实体类和实体映射文件(*.hbm.xml) 

     实体必须实现Serializable接口

小结:hibernate.cfg.xml(1) public class QueryDemo { public static void main(String[] args) { //1、对框架核心配置文件进行建模 Configuration configure = new Configuration().configure("/hibernate.cfg.xml"); //2、获取sessionFactory工厂 SessionFactory sessionFactory = configure.buildSessionFactory(); //3、获取session会话 Session session = sessionFactory.openSession(); //4、开启事务(查询不需要事务) //5、session操作对象 //6、提交事务(查询不需要事务) //开始查询 List list = session.createQuery("from User").list(); for (Object object : list) { System.out.println(object); } //7、关闭session session.close(); } }

②结果显示

2、新增

①新增代码

package com.mwy.test;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.mwy.entity.User;

public class AddDemo {
	public static void main(String[] args) {
		
		//1、对框架核心配置文件进行建模
		Configuration configure = new Configuration().configure("/hibernate.cfg.xml");
		 //2、获取sessionFactory工厂
		SessionFactory sessionFactory = configure.buildSessionFactory();
		//3、获取session会话
		Session session = sessionFactory.openSession();
		//4、开启事务(查询不需要事务)
		Transaction transaction = session.beginTransaction();
		
		//5、session操作对象
		//6、提交事务(查询不需要事务)
		//新增
		User user=new User();
		user.setBirthday(new Date(System.currentTimeMillis()));//生日
		user.setCreateDatetime(new Timestamp(System.currentTimeMillis()));//日期时间
		user.setId(123);
		user.setRealName("陆小凤");
		user.setRemark("武侠剧");
		user.setSex("男");
		user.setUserName("xxxx");
		user.setUserPwd("666666");
		session.save(user);
		transaction.commit();
		//7、关闭session
		session.close();
	}
}

②结果显示

(1)未新增前的数据库

(2)新增后

 由于数据库id为自增长,所以设置的id=123并没有实现

 ③程序员自己控制:assigned

修改User.hbm.xml将


            
        

改为


            
        

得到结果

 3、修改

①修改代码

package com.mwy.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.mwy.entity.User;

public class EditDemo {
	public static void main(String[] args) {
		
		//1、对框架核心配置文件进行建模
		Configuration configure = new Configuration().configure("/hibernate.cfg.xml");
		 //2、获取sessionFactory工厂
		SessionFactory sessionFactory = configure.buildSessionFactory();
		//3、获取session会话
		Session session = sessionFactory.openSession();
		//4、开启事务(查询不需要事务)
		Transaction transaction = session.beginTransaction();
		//5、session操作对象
		//6、提交事务(查询不需要事务)
		User user = session.get(User.class, 123);
		user.setRealName("mwy");
		transaction.commit();
		//7、关闭session
		session.close();
	}
}

②结果显示

 4、删除

①、删除代码·

package com.mwy.test;
import java.util.List;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.mwy.entity.User;

public class DelDemo {
	public static void main(String[] args) {
		
		//1、对框架核心配置文件进行建模
		Configuration configure = new Configuration().configure("/hibernate.cfg.xml");
		 //2、获取sessionFactory工厂
		SessionFactory sessionFactory = configure.buildSessionFactory();
		//3、获取session会话
		Session session = sessionFactory.openSession();
		//4、开启事务(查询不需要事务)
		Transaction transaction = session.beginTransaction();
		//5、session操作对象
		//6、提交事务(查询不需要事务)
		//第一种方法:
		//User user = session.get(User.class, 123);
		//session.delete(user);
		//第二种方法:
		User user=new User();
		user.setId(123);
		session.delete(user);
		
		transaction.commit();
		//7、关闭session
		session.close();

	}
}

②结果显示(删除id为123)

 结束!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/328782.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号