Hibernate学习篇01——Hibernate基础
来源:互联网 发布:手机阿里云系统 编辑:程序博客网 时间:2024/05/29 14:48
第一篇就演示下最简单的例子。
目录结构
表结构
drop table user1;create table USER1( ID VARCHAR2(32) primary key, USERNAME VARCHAR2(32), PASSWORD VARCHAR2(32), NAME VARCHAR2(32));insert into user1 (id,username,password,name) values ('8a8703de51d2e86e0151d2e870690000','zhangsan','111111','zs');insert into user1 (id,username,password,name) values ('8a8703de51d2e45c0151d2e45de00000','lisi','222222','ls');commit;hibernate.cfg.xml
<?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="connection.driver_class">oracle.jdbc.driver.OracleDriver</property> <property name="connection.url">jdbc:oracle:thin:@localhost:1521:ZELS</property> <property name="connection.username">LEARNING</property> <property name="connection.password">LEARNING</property> <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property><property name="show_sql">true</property><!-- <property name="hibernate.hbm2ddl.auto">update</property> --><mapping resource="com/masteringhibernate/a01base/User.hbm.xml" /> </session-factory></hibernate-configuration>User.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN""http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.masteringhibernate.a01base"><class name="User" lazy="true" table="USER1"><id name="id"><generator class="uuid"/></id><property name="username" /><property name="password" /><property name="name" /></class></hibernate-mapping>User.java
package com.masteringhibernate.a01base;public class User {private String id;private String username;private String password;private String name;//getter and setter}
Test.java
package com.masteringhibernate.a01base;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public class Test {private static SessionFactory sessionFactory;public static void main(String[] args) {init();selectAll();System.out.println("========================");update();selectAll();System.out.println("========================");insert();selectAll();System.out.println("========================");delete();selectAll();}private static void init(){Configuration configuration = new Configuration().configure("com/masteringhibernate/a01base/hibernate.cfg.xml");sessionFactory = configuration.buildSessionFactory();}private static void selectAll(){Session session = sessionFactory.openSession();Query query = session.createQuery("from User");List<User> list = query.list();for(User user:list){System.out.println("id:"+user.getId()+"\t\tusername:"+user.getUsername()+"\t\tpassword:"+user.getPassword()+"\t\tname:"+user.getName());}session.close();}private static void update(){Session session = sessionFactory.openSession();session.beginTransaction();////User user = (User)session.get(User.class, "8a8703de51d2e86e0151d2e870690000");User user = (User)session.createQuery("from User where username='zhangsan'").list().get(0);user.setPassword("123456");session.update(user);session.getTransaction().commit();session.close();}private static void insert(){Session session = sessionFactory.openSession();session.beginTransaction();User user = new User();user.setUsername("abc");user.setPassword("123");user.setName("abc123");session.getTransaction().commit();session.close();}private static void delete(){Session session = sessionFactory.openSession();session.beginTransaction();User user = (User)session.createQuery("from User where username='abc'").list().get(0);session.delete(user);session.getTransaction().commit();session.close();}}下面是log
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_
id:8a8703de51d2e86e0151d2e870690000 username:zhangsanpassword:111111name:zs
id:8a8703de51d2e45c0151d2e45de00000 username:lisipassword:222222name:ls
========================
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_ where user0_.username='zhangsan'
Hibernate: update USER1 set username=?, password=?, name=? where id=?
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_
id:8a8703de51d2e86e0151d2e870690000 username:zhangsanpassword:123456name:zs
id:8a8703de51d2e45c0151d2e45de00000 username:lisipassword:222222name:ls
========================
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_
id:8a8703de51d2e86e0151d2e870690000 username:zhangsanpassword:123456name:zs
id:8a8703de51d2e45c0151d2e45de00000 username:lisipassword:222222name:ls
========================
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_ where user0_.username='zhangsan'
Hibernate: delete from USER1 where id=?
Hibernate: select user0_.id as id0_, user0_.username as username0_, user0_.password as password0_, user0_.name as name0_ from USER1 user0_
id:8a8703de51d2e45c0151d2e45de00000 username:lisipassword:222222name:ls
- Hibernate学习篇01——Hibernate基础
- Hibernate基础学习(二)—Hibernate相关API介绍
- J2EE学习笔记——Hibernate基础
- Hibernate基础学习——Criterion
- 【hibernate+Spring学习】hibernate基础
- Hibernate框架基础——Hibernate入门
- Hibernate基础学习一
- Hibernate基础学习笔记
- Hibernate 基础学习
- hibernate学习基础总结
- hibernate基础学习
- Hibernate基础学习总结
- Hibernate 基础学习
- Hibernate 基础学习
- Hibernate 基础学习
- hibernate基础学习
- Hibernate学习篇02——Hibernate formula
- Hibernate学习——Hibernate入门
- iOS应用架构谈(二)
- 编写高效的C程序与C代码优化
- 【JAVA】26、应用2——数组复制
- ios之启动图片适配
- leetcode之Repeated DNA Sequences
- Hibernate学习篇01——Hibernate基础
- Android事件分发机制完全解析,带你从源码的角度彻底理解(下)
- 设计TCP服务器的规则
- 【BZOJ1061】[Noi2008]志愿者招募【单纯形法】
- 12C ORA-错误汇总20
- new/delete和malloc/free的区别,sizeof的理解和struct内存对齐
- 从零开始学习EasyDarwin(概述篇)
- EM35x Development Kit开发环境搭建
- cookie 和session 的区别详解