Hibernate:用面向对象的方法除了数据库操作,利用ORM对象关系映射框架
1.Hibernate的映射文件:一个类对应一个映射文件,存储类的特点,以XML的形式存放。将对象映射成数据库中的表,是链接数据库与对象的纽带
2.Hibernate的配置文件:对数据库的描述,如使用什么数据库,与数据库交互所要用到的驱动类的设置等,文件为XML或properties属性文件
XML文件:格式类似HTML文件,有自己的标签,用于定义自己的数据结构。具有格式化检查机制,可以指定映射文件的加载
映射文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="Chapter04.Apple" table="apple">
<id name="id" type="java.lang.String" column="id" length="32" >
<generator class="uuid.hex" />
</id>
<property name="color" type="java.lang.String" update="true" insert="true" column="color" length="50" not-null="false" />
<property name="size" type="java.lang.Float" update="true" insert="true" column="size" not-null="false" />
<property name="weight" type="java.lang.Float" update="true" insert="true" column="weight" not-null="false" />
</class>
</hibernate-mapping>
配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">
jdbc:mysql://localhost:3306/community
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">chenhaibin</property>
<!-- 指定映射文件 -->
<mapping resource="Chapter04/Apple.hbm.xml"/>
</session-factory>
</hibernate-configuration>
操作:
Configuration configuration = new Configuration(); //读取配置文件
configuration = configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();//打开i与数据库的会话,并开始事务
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
Apple apple = new Apple();
apple.setColor("red");
apple.setSize(20.0f);
apple.setWeight(0.5f);
session.save(apple);
Apple apple2 = new Apple();
apple2.setColor("red");
apple2.setSize(15.0f);
apple2.setWeight(0.4f);
session.save(apple2);//保存入数据库
String id = apple.getId();
String id2 = apple2.getId();
Apple newApple = null;
newApple = (Apple) session.get(Apple.class, id);//根据id得到对应对象相关信息
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple.setColor("green");
session.update(newApple);
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) sConfiguration configuration = new Configuration();
configuration = configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
Apple apple = new Apple();
apple.setColor("red");
apple.setSize(20.0f);
apple.setWeight(0.5f);
session.save(apple);
Apple apple2 = new Apple();
apple2.setColor("red");
apple2.setSize(15.0f);
apple2.setWeight(0.4f);
session.save(apple2);
String id = apple.getId();
String id2 = apple2.getId();
Apple newApple = null;
newApple = (Apple) session.get(Apple.class, id);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
Configuration configuration = new Configuration();
configuration = configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
Apple apple = new Apple();
apple.setColor("red");
apple.setSize(20.0f);
apple.setWeight(0.5f);
session.save(apple);
Apple apple2 = new Apple();
apple2.setColor("red");
apple2.setSize(15.0f);
apple2.setWeight(0.4f);
session.save(apple2);
String id = apple.getId();
String id2 = apple2.getId();
Apple newApple = null;
newApple = (Apple) session.get(Apple.class, id);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple.setColor("green");
session.update(newApple);
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id);
session.delete(newApple);
newApple = (Apple) session.get(Apple.class, id2);
session.delete(newApple);
transaction.commit();
session.close();
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple.setColor("green");
session.update(newApple);
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id);
session.delete(newApple);
newApple = (Apple) session.get(Apple.class, id2);
session.delete(newApple);
transaction.commit();Configuration configuration = new Configuration();
configuration = configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
Apple apple = new Apple();
apple.setColor("red");
apple.setSize(20.0f);
apple.setWeight(0.5f);
session.save(apple);
Apple apple2 = new Apple();
apple2.setColor("red");
apple2.setSize(15.0f);
apple2.setWeight(0.4f);
session.save(apple2);
String id = apple.getId();
String id2 = apple2.getId();
Apple newApple = null;
newApple = (Apple) session.get(Apple.class, id);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple.setColor("green");
session.update(newApple);
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id);
session.delete(newApple);
newApple = (Apple) session.get(Apple.class, id2);
session.delete(newApple);
Configuration configuration = new Configuration();
configuration = configuration.configure();
SessionFactory factory = configuration.buildSessionFactory();
Session session = factory.openSession();
Transaction transaction = session.beginTransaction();
Apple apple = new Apple();
apple.setColor("red");
apple.setSize(20.0f);
apple.setWeight(0.5f);
session.save(apple);
Apple apple2 = new Apple();
apple2.setColor("red");
apple2.setSize(15.0f);
apple2.setWeight(0.4f);
session.save(apple2);
String id = apple.getId();
String id2 = apple2.getId();
Apple newApple = null;
newApple = (Apple) session.get(Apple.class, id);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple.setColor("green");
session.update(newApple);
newApple = (Apple) session.get(Apple.class, id2);
System.out.println("ID:" + newApple.getId() + ", Color:"
+ newApple.getColor() + ", Size:" + newApple.getSize()
+ ", Weight:" + newApple.getWeight());
newApple = (Apple) session.get(Apple.class, id);
session.delete(newApple);
newApple = (Apple) session.get(Apple.class, id2);
session.delete(newApple);
transaction.commit();//提交事务
session.close();//关闭会话
transaction.commit();
session.close();
session.close();ession.get(Apple.class, id);
session.delete(newApple);
newApple = (Apple) session.get(Apple.class, id2);
session.delete(newApple);
transaction.commit();
session.close();