ORM模式:Object对象 Relation关系 Mapping映射
优点:开发的效率高
缺点:数据库操作性能低
JDBC模式:
优点:数据库操作性能高
缺点:开发效率低
ORM的创建:
1.创建实体类
2.创建实体类映射类
3.创建hiernate核心配置文件
4.配置hiernate核心配置文件(如配置映射类、sql语句是否显示…)
5.引入hibernate依赖
<!--实体类的映射类-->
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated 2019-7-5 10:45:13 by Hibernate Tools 3.5.0.Final -->
<hibernate-mapping>
<!-- 实体类和表关系的映射
class 实体类的全限定名称
table 数据库的表名
id为数据库的默认主键
type:该属性的java数据类型
column:列名 对应的数据库的列名
property:属性 实体类的属性
generator:主键生成策略 主键的值是怎么产生的
native:主键生成的自增长
-->
<class name="com.sw.entity.Student" table="STUDENT">
<id name="id" type="java.lang.Integer">
<column name="ID" />
<generator class="native"/>
</id>
<property name="sname" type="java.lang.String">
<column name="SNAME" />
</property>
<property name="sage" type="java.lang.Integer">
<column name="SAGE" />
</property>
<property name="sex" type="java.lang.String">
<column name="SEX" />
</property>
<property name="birthday" type="java.util.Date">
<column name="BIRTHDAY" />
</property>
<property name="address" type="java.lang.String">
<column name="ADDRESS" />
</property>
</class>
</hibernate-mapping>
<!--hibernate核心配置文件:里面主要放连接...-->
<?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>
<session-factory>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.password">123456</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!--显示sql、格式化sql-->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<!-- 配置映射文件 -->
<mapping resource="com/yps/entity/tb_school.hbm.xml"/>
</session-factory>
</hibernate-configuration>
<!--依赖-->
<!--hibernate的核心依赖 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.3.10.Final</version>
</dependency>
test方法----------------------------------------------------------------------------------------
查询:①②
①List<student> list=session.createQuery("from student").list();
②student s=session.get(student.class,1);
删除
student s=session.get(student.class,1);
session.delete(s);
改
student s=session.get(student.class,1);
s.setSname("aaa");
//session.update(s);
//不用调也会修改,原理:持久态----------对象的三种状态:hibernate02