Spring_SSH_JSP_Entity_Service_Hibernate

1.目录结构

2.jar包

3.User

package com.cloud.oss.domain.model;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

/**
 * @author cloud
 * @Date 2016年5月26日
 * @Version 1.0
 * @Description
 */
@Entity
public class User {
    private int id;
    private String username;
    private String password;

    @Id
    @GeneratedValue
    public int getId() {
        return id;
    }

    public String getUsername() {
        return username;
    }

    public String getPassword() {
        return password;
    }

    public void setId(int id) {
        this.id = id;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public void setPassword(String password) {
        this.password = password;
    }

}

 

4.UserService

package com.cloud.oss.domain.service;

import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.cloud.oss.domain.model.User;
import com.cloud.oss.domain.utils.HibernateUtil;

/**
 * @author cloud
 * @Date 2016年5月26日
 * @Version 1.0
 * @Description
 */
public class UserService {
    public boolean exists(User user) {
        SessionFactory sf = HibernateUtil.getSessionFactory();
        Session session = sf.getCurrentSession();
        session.beginTransaction();
        long count = (Long) session
                .createQuery(
                        "select count(*) from User u where u.username = :username")
                .setString("username", user.getUsername()).uniqueResult();
        session.getTransaction().commit();
        if (count > 0)
            return true;
        return false;
    }

    public void save(User user) {
        SessionFactory sessionFactory = HibernateUtil.getSessionFactory();
        Session session = sessionFactory.getCurrentSession();
        session.beginTransaction();
        session.save(user);
        session.getTransaction().commit();
    }

}

 

5.HibernateUtils

package com.cloud.oss.domain.utils;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;


/**
 * @author cloud
 * @Date 2016年5月26日
 * @Version 1.0
 * @Description
 */
public class HibernateUtil {
    /**
     * 静态实例域实际上就是一个单例,所有的对象共用一个实例
     */
    private static SessionFactory sessionFactory;
    static{
        sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
    }
    
    public static SessionFactory getSessionFactory(){
        return sessionFactory;
    }
}

 

6.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">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/spring</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
       <!--
        <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="connection.url">jdbc:oracle:thin:@localhost:1521:SXT</property>
        <property name="connection.username">scott</property>
        <property name="connection.password">tiger</property>
          <property name="dialect">org.hibernate.dialect.OracleDialect</property>
       -->

        <!-- JDBC connection pool (use the built-in) -->
        <property name="connection.pool_size">1</property>
        
        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>

        <!-- Drop and re-create the database schema on startup
        <property name="hbm2ddl.auto">update</property>
         -->
        <mapping class="com.cloud.oss.domain.model.User"/>
    </session-factory>
</hibernate-configuration>

 

7.TestHibernate

package com.cloud.oss.domain.test;

import com.cloud.oss.domain.model.User;
import com.cloud.oss.domain.service.UserService;

public class TestHibernate {
    public static void main(String[] args) {
        UserService service = new UserService();
        User user = new User();
        user.setUsername("cloud");
        user.setPassword("cloud");
        System.out.println(service.exists(user));
    }
}

 


 

posted @ 2016-06-02 22:58  桃源仙居  阅读(89)  评论(0)    收藏  举报