1:SSH框架:
Struts2:基于mvc模式的应用层框架模式(Servlet层)
Hibernate:基于持久层的框架(数据访问层)
Spring:创建对象对象处理的依赖关系以及框架整合(Service层)
2:框架和之前学的对比MVC分层模式:
搭建Hibernate环境,开发步骤:
1:下载源码
Hibernate官网:http://hibernate.org/
2:引入jar包:(9个jar包哦~~~)
(1)hibernate3.jar:Hibernate核心jar包文件;
(2)lib目录下面的required目录里面的6个包
antlr-2.7.6.jar;
commons-collections-3.1.jar;
dom4j-1.6.1.jar;
javassist-3.12.0.GA.jar;
jta-1.1.jar;
slf4j-api-1.6.1.jar
(3)lib目录下面的jpa目录里面的1个包
hibernate-jpa-2.0-api-1.0.0.Final.jar
(4)最后一个mysql驱动包
3:写对象以及对象的映射;
实体类名.java 对象
实体类名.hbm.xml 对象的映射
4:Hibernate配置文件:src/hibernate.cfg.xml
数据连接配置
加载所有的映射(*.hbm.xml)
实例演示Hibernate之Hello world!!!
1:第一步:肯定引入jar包咯,毕竟是框架吗!所以引入上面的9个jar包哦~~~
2:第二步:肯定是创建数据库和数据表了,毕竟Hibernate是替换之前学的数据交互层了。
创建user数据表:
3:第三步:写对象和对象的映射
3.1:首先创建一个实体类哦~~~,如下所示:
代码语言:javascript复制 1 package com.bie.po;
2 /**
3 * @author BieHongLi
4 * @version 创建时间:2017年3月8日 下午5:17:23
5 *
6 */
7 public class User {
8
9 private int id;
10 private String name;
11 private String password;
12 private String email;
13 private String phone;
14 public int getId() {
15 return id;
16 }
17 public void setId(int id) {
18 this.id = id;
19 }
20 public String getName() {
21 return name;
22 }
23 public void setName(String name) {
24 this.name = name;
25 }
26 public String getEmail() {
27 return email;
28 }
29 public void setEmail(String email) {
30 this.email = email;
31 }
32 public String getPhone() {
33 return phone;
34 }
35 public void setPhone(String phone) {
36 this.phone = phone;
37 }
38 public String getPassword() {
39 return password;
40 }
41 public void setPassword(String password) {
42 this.password = password;
43 }
44
45
46 }
3.2:创建好实体类之后就配置对象的映射,毕竟这个框架的映射还是很牛逼的。
创建User.hbm.xml,完成对象和数据表的操作;
(1):对象与表 (2):属性与字段的对应 (3):类型的对应,类型默认采用属性的类型,type不写的话
代码语言:javascript复制 1 <?xml version="1.0"?>
2 <!DOCTYPE hibernate-mapping PUBLIC
3 "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
5
6 <hibernate-mapping package="com.bie.po">
7 <!-- 操作条件:
8 1:对象与表
9 2:属性与字段的对应
10 3:类型的对应,类型默认采用属性的类型,type不写的话
11 -->
12 <class name="User" table="user">
13 <!-- 主键,映射 -->
14 <id name="id" column="id">
15 <generator class="native"></generator>
16 </id>
17
18 <!-- 非主键,映射 -->
19 <property name="name" column="name"></property>
20 <property name="password" column="password"></property>
21 <property name="email" column="email"></property>
22 <property name="phone" column="phone"></property>
23
24
25 </class>
26
27 </hibernate-mapping>
实体类.hbm.xml如何找模板???:
这个文件去下载的Hibernate包里面搜索一个模板,然后复制出来,方便之后使用,操作如下所示:
4:src/hibernate.cfg.xml(寻找的目录如:hibernate-distribution-3.6.0.Finalprojectetc)
4.1:数据连接配置
4.2:加载所有的映射(*.hbm.xml)
代码语言:javascript复制 1 <!DOCTYPE hibernate-configuration PUBLIC
2 "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
3 "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
4
5 <hibernate-configuration>
6 <session-factory>
7 <!--
8 1:数据连接配置
9 2:加载所有的映射(*.hbm.xml)
10 -->
11
12 <!-- 1:数据连接配置 -->
13 <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
14 <property name="hibernate.connection.url">jdbc:mysql:///test</property>
15 <property name="hibernate.connection.username">root</property>
16 <property name="hibernate.connection.password">123456</property>
17 <!-- mysql数据库的方言 -->
18 <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
19
20 <property name="hibernate.show_sql">true</property>
21
22 <!-- 2:加载所有的映射(*.hbm.xml) -->
23 <mapping resource="com/bie/po/User.hbm.xml"/>
24
25 </session-factory>
26 </hibernate-configuration>
5:写测试的方法,完成第一个Hibernate程序;
代码语言:javascript复制 1 package com.bie.test;
2
3 import org.hibernate.Session;
4 import org.hibernate.SessionFactory;
5 import org.hibernate.Transaction;
6 import org.hibernate.cfg.Configuration;
7 import org.junit.Test;
8
9 import com.bie.po.User;
10
11 /**
12 * @author BieHongLi
13 * @version 创建时间:2017年3月8日 下午5:28:35
14 *
15 */
16 public class HelloTest {
17
18 @Test
19 public void testHello(){
20 //对象
21 User user=new User();
22 user.setName("张三");
23 user.setPassword("123456");
24 user.setEmail("1748741329@qq.com");
25 user.setPhone("15236083005");
26
27 //获取加载配置文件的管理类对象
28 Configuration config=new Configuration();
29 //默认加载src/hibernate.cfg.xml文件
30 config.configure();
31 //创建session的工厂文件
32 SessionFactory sf=config.buildSessionFactory();
33 //创建session(代表一个会话,与数据库连接的会话)
34 Session session=sf.openSession();
35 //开启事务
36 Transaction tx=session.beginTransaction();
37 //保存到数据库
38 session.save(user);
39 //提交事务
40 tx.commit();
41 //关闭
42 session.close();
43 //sessionFactory关闭
44 sf.close();
45
46
47 }
48 }
<!-- mysql数据库的方言 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
1》如何获取mysql方言的这句org.hibernate.dialect.MySQLDialect???
首先按着ctrl shift t 然后搜索MySQLDialect如下所示,然后取到下图所示即可;
趁年轻,我们要敢于拼搏!!!年轻就是资本啊!!!