Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门
            时间:2014-05-01 19:43:40  
            收藏:0  
            阅读:695
        
        
        1、环境:
Maven :3.1.1
开发工具:Spring Tool Suite
数据库 : Mysql 5.6
2、项目文件结构

文件代码:
2.1 、pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>hibernate</groupId> <artifactId>hibernate</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>hibernate</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.3.5.Final</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.30</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
2.2 、HibernateUtil.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | packagecom.rhythmk.hibernate01;importjavax.imageio.spi.ServiceRegistry;importorg.hibernate.SessionFactory;importorg.hibernate.boot.registry.StandardServiceRegistryBuilder;importorg.hibernate.cfg.Configuration;importorg.hibernate.service.ServiceRegistryBuilder;/* *  参考 URL: * */publicclassHibernateUtil {    // By : rhythmk.cnblogs.com     privatestaticfinalSessionFactory sessionFactory = buildSessionFactory();        privatestaticSessionFactory buildSessionFactory() {            try{                Configuration configuration=newConfiguration().configure();                              returnconfiguration.buildSessionFactory(newServiceRegistryBuilder().applySettings(configuration.getProperties()).build());                                      }            catch(Throwable ex) {                               System.err.println("Initial SessionFactory creation failed."+ ex);                thrownewExceptionInInitializerError(ex);            }                }        publicstaticSessionFactory getSessionFactory() {            returnsessionFactory;        }} | 
2.3、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"> <!-- Generated by MyEclipse Hibernate Tools. --> <hibernate-configuration> <session-factory> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.url">jdbc:mysql://localhost:3306/shishuocms</property> <property name="connection.username">root</property> <property name="connection.password">wangkun</property> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="myeclipse.connection.profile">com.mysql.jdbc.Driver</property> <!--是否在后台显示Hibernate用到的SQL语句,开发时设置为true,便于差错,程序运行时可以在Eclipse的控制台显示Hibernate的执行Sql语句。项目部署后可以设置为false,提高运行效率 --> <property name="hibernate.show_sql">true </property> <mapping resource="com/rhythmk/model/user.hbm.xml" /> </session-factory> </hibernate-configuration>
2.4 User.java
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | packagecom.rhythmk.model;importjava.util.Date;publicclassUser {    publicInteger getUserId() {        returnuserId;    }    publicvoidsetUserId(Integer userId) {        this.userId = userId;    }    publicInteger getOpenId() {        returnopenId;    }    publicvoidsetOpenId(Integer openId) {        this.openId = openId;    }               @Override    publicString toString() {                return"User [userId="+ userId + ", openId="+ openId + ", type="                + type + ", name="+ name + ", createTime="+ createTime + "]";    }    publicString getType() {        returntype;    }    publicvoidsetType(String type) {        this.type = type;    }    publicString getName() {        returnname;    }    publicvoidsetName(String name) {        this.name = name;    }    publicDate getCreateTime() {        returncreateTime;    }    publicvoidsetCreateTime(Date createTime) {        this.createTime = createTime;    }    publicInteger userId;    publicInteger openId;    publicString type;    publicString name;    publicDate createTime;} | 
2.5 user.hbm.xml
<?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"> <hibernate-mapping> <class name="com.rhythmk.model.User" table="user"> <id name="userId" type="int"> <column name="userId" /> <generator class="native" /> </id> <property name="openId" type="int"> <column name="openId" not-null="true" /> </property> <property name="type" type="string"> <column name="type" not-null="true" /> </property> <property name="name" type="string"> <column name="name" length="45" not-null="true" /> </property> <property name="createTime" type="timestamp"> <column name="createTime" not-null="true" /> </property> </class> </hibernate-mapping>
3、测试代码(hibernatedemo1.java):
插入:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | @Test    publicvoidInsertUser() {        SessionFactory sessionfac = HibernateUtil.getSessionFactory();        Session session = null;        org.hibernate.Transaction tran = null;        try{            sessionfac.openSession();            User entity = newUser();            tran = session.beginTransaction();            entity.setType("管理员");            entity.setName("rhythmk");            entity.setOpenId(1);            entity.setCreateTime(newDate());            session.save(entity);            tran.commit();            System.out.println("Insert into OK!");        } catch(Exception e) {            if(tran != null) {                tran.rollback();            }            e.printStackTrace();        } finally{            if(session != null)                session.close();        }    } | 
修改:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | @TestpublicvoidUpdateUser() {    Session session = null;    org.hibernate.Transaction tran = null;    try{        session = HibernateUtil.getSessionFactory().openSession();        tran = session.beginTransaction();        User entity = (User) session.load(User.class, 2);        entity.setName("Update");        session.save(entity);        tran.commit();        entity = (User) session.load(User.class, 2);        System.out.println(entity.toString());    } catch(Exception e) {        if(tran != null) {            tran.rollback();        }        // TODO: handle exception        e.printStackTrace();    } finally{        if(session != null)            session.close();    }} | 
删除:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | @Test    publicvoidDelUser() {        Session session = null;        org.hibernate.Transaction tran = null;        try{            session = HibernateUtil.getSessionFactory().openSession();            tran = session.beginTransaction();            Object obj = session.load(User.class, 4);            User entity = null;            if(obj != null) {                entity = (User) obj;            }            if(entity != null) {                session.delete(entity);                System.out.println("删除成功!");                tran.commit();            }        } catch(Exception e) {            if(tran != null) {                tran.rollback();            }            // TODO: handle exception            e.printStackTrace();        } finally{            if(session != null)                session.close();        }    } | 
单对象查询
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @Test    publicvoidSelectUser() {        Session session = null;        try{            session = HibernateUtil.getSessionFactory().openSession();            User entity = (User) session.load(User.class, 2);            System.out.println(entity.toString());        } catch(Exception e) {            // TODO: handle exception            e.printStackTrace();        } finally{            if(session != null)                session.close();        }    } | 
List查询
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | @Test    publicvoidSelectListUser() {        Session session = null;        try{            session = HibernateUtil.getSessionFactory().openSession();        Query query=    session.createQuery("from User ");       List<User> list=(List<User>)query.list();        for(User user : list) {            System.out.println(user);        }                    } catch(Exception e) {            e.printStackTrace();        } finally{            if(session != null)                session.close();        }    } | 
分页查询:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | @TestpublicvoidSelectPageListUser() {// 获取分页数据    Session session = null;    try{        session = HibernateUtil.getSessionFactory().openSession();    Query query=    session.createQuery("from User ");   List<User> list=(List<User>)query           .setFirstResult(0)  //从0项开始           .setMaxResults(3) //每页三条数据           .list();    for(User user : list) {        System.out.println(user);    }            } catch(Exception e) {        e.printStackTrace();    } finally{        if(session != null)            session.close();    }} | 
代码包:http://pan.baidu.com/s/1hq1esh2
备注:
 添加 JBOOS 
TOOL路径
http://download.jboss.org/jbosstools/updates/stable/helios/
Rhythmk 学习 Hibernate 01 - maven 创建Hibernate 项目之 增删改查入门,布布扣,bubuko.com
            评论(0)
        
        
         
        