hibernateday01笔记Word下载.docx
《hibernateday01笔记Word下载.docx》由会员分享,可在线阅读,更多相关《hibernateday01笔记Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
![hibernateday01笔记Word下载.docx](https://file1.bdocx.com/fileroot1/2022-11/15/ad478b53-5b9b-4d37-84b5-fe06b0f21302/ad478b53-5b9b-4d37-84b5-fe06b0f213021.gif)
sun对ORM框架推出一个规范(接口,没有实现),hibernate支持jpa
2Hibernate最流行ORM框架,通过对象-关系映射配置,可以完全脱离底层SQL
3MyBatis本是apache的一个开源项目iBatis,支持普通SQL查询,存储过程和高级映射的优秀持久层框架
4ApacheDBUtils、SpringJDBCTemplate
4.3优点
5helloworld(重要)
5.1编写流程
●导入jar包
●核心配置文件:
hibernate.cfg.xml
●java对象:
javabean
●映射文件:
*.hbm.xml
需要将hbm.xml映射文件添加到核心配置hibernate.cfg.xml中
●操作api,进行添加操作:
save
5.2导入jar包
5.3核心配置文件
●位置:
src
●名称:
●约束:
<
!
DOCTYPEhibernate-configurationPUBLIC
"
-//Hibernate/HibernateConfigurationDTD3.0//EN"
http:
//www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"
>
●正文内容
?
xmlversion="
1.0"
encoding="
UTF-8"
hibernate-configuration>
<
session-factory>
<
--#1基本4项
*注意:
必须手动创建数据库,createdatabaseh_day01;
-->
propertyname="
hibernate.connection.driver_class"
com.mysql.jdbc.Driver<
/property>
hibernate.connection.url"
jdbc:
mysql:
//localhost:
3306/h_day01<
hibernate.connection.username"
root<
hibernate.connection.password"
1234<
--#2方言-->
hibernate.dialect"
org.hibernate.dialect.MySQL5Dialect<
--#3自动创建表
*如果表不存在,抛异常:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
Table'
h_day01.t_book'
doesn'
texist
hibernate.hbm2ddl.auto"
update<
--添加映射文件-->
mappingresource="
cn/itcast/a_hello/Book.hbm.xml"
/>
/session-factory>
/hibernate-configuration>
5.4java对象:
JavaBean
packagecn.itcast.a_hello;
publicclassBook{
privateIntegerbid;
//注意:
类型必须是整形
privateStringtitle;
privateStringauthor;
5.5映射文件
和javabean同包
Book.hbm.xml
DOCTYPEhibernate-mappingPUBLIC
-//Hibernate/HibernateMappingDTD3.0//EN"
//www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
●正文内容:
hibernate-mapping>
classname="
cn.itcast.a_hello.Book"
table="
t_book"
--用于配置数据库中表的主键的-->
idname="
bid"
<
--固定值-->
generatorclass="
native"
/generator>
/id>
--其他属性配置-->
title"
author"
/class>
/hibernate-mapping>
●注意:
将映射文件添加到核心配置文件(hibernate.cfg.xml)中
5.6操作api
@Test
publicvoiddemo01(){
Bookbook=newBook();
//注意:
必须要手动bid的值
book.setTitle("
宝典"
);
book.setAuthor("
关系"
//1加载核心配置文件
Configurationconfig=newConfiguration().configure();
//2获得sessionFactory,相当于连接池
SessionFactoryfactory=config.buildSessionFactory();
//3获得session,相当于jdbc连接
Sessionsession=factory.openSession();
//4开启事务
Transactiontransaction=session.beginTransaction();
//操作:
添加
session.save(book);
//5提交或回滚commit()|rollback()
mit();
//6释放资源
session.close();
factory.close();
}
6整合日志log4j
6.1java项目提示
●日志没有生效
6.2日志框架介绍
6.3整合log4j
●log4j核心jar
●过滤jar
●log4j核心配置文件
注意:
只需要添加文件,不需要读懂内容,之后讲解。
7CURD操作
7.1添加
@Test
//添加
7.2更新
@Test
publicvoiddemo02(){
//更新bid=3title=葵花
book.setBid(3);
葵花"
//操作
session.update(book);
//通过id更新所有的数据,如果没有设置值,将更新默认值
7.3删除
publicvoiddemo03(){