• eclipse之SSH配置hibernate【三】


    配置hibernate,没有和spring整合,可以看成独立的部分。

    在src下创建hibernate配置文件,hibernate.cfg.xml。主要是sql连接相关配置。

    <?xml version='1.0' encoding='utf-8'?>
    <!--
      ~ Hibernate, Relational Persistence for Idiomatic Java
      ~
      ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later.
      ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>.
      -->
    <!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>
    
            <!-- Database connection settings -->
            <property name="connection.driver_class">com.mysql.jdbc.Driver </property>
            <property name="connection.url">jdbc:mysql://localhost:3306/cmsadmin</property>
            <property name="connection.username">root</property>
            <property name="connection.password">123456</property>
    
            <!-- SQL dialect -->
            <property name="dialect">org.hibernate.dialect.MySQLDialect </property>
    
            <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">true</property>
            
    		<mapping resource="com/awu/models/user.hbm.xml"/>
        </session-factory>
    
    </hibernate-configuration>
    

     Tip:<mapping resource="com/awu/models/user.hbm.xml"/> 是entity的映射文件。一般创建在src的目录下即可。内容如:

    <?xml version="1.0" encoding="UTF-8"?>
    <hibernate-mapping package="com.awu.models">
    <class name="User" table="user">
    	<id name="userid" type="string">
    	</id>
    	<property name="username" type="string"></property>
    	<property name="pwd" type="string"></property>
    	<property name="creator" type="string"></property>
    	<property name="createtime" type="date"></property>
    	<property name="updater" type="string"></property>
    	<property name="updatetime" type="date"></property>
    	<property name="isenabled" type="int"></property>
    </class>
    </hibernate-mapping>
    

     使用hibernate示例代码:

    Configuration configuration = new Configuration().configure();
    		SessionFactory factory = configuration.buildSessionFactory();
    		Session session = null;
    		try{
    			session = factory.openSession();
    			session.beginTransaction();
    //			ArrayList<User> result = (ArrayList<User>) session.createQuery("from User").list();
    			session.createQuery("from User").uniqueResult();
    			System.out.println(session.get(User.class,"402895da5a6def38015a6def39d80000").getUsername());
    			
    			session.getTransaction().commit();
    		}catch (Exception e) {
    			System.out.println(e.getMessage());
    			session.getTransaction().rollback();
    		}finally {
    			if(session != null){
    				if(session.isOpen())
    					session.close();
    			}
    		}
    

     hibernate相关的jar。

    • antlr-2.7.7.jar
    • classmate-1.3.0.jar
    • dom4j-1.6.1.jar
    • hibernate-commons-annotations-5.0.1.Final.jar
    • hibernate-core-5.2.8.Final.jar
    • hibernate-jpa-2.1-api-1.0.0.Final.jar
    • jandex-2.0.3.Final.jar
    • javassist-3.20.0-GA.jar
    • jboss-logging-3.3.0.Final.jar
    • jboss-transaction-api_1.2_spec-1.0.1.Final.jar

    mysql连接库:

    • mysql-connector-java-5.1.40-bin.jar
  • 相关阅读:
    我为什么支持从中学课本中撤下鲁迅的文章?
    【老孙随笔】技术不行别人就不服你,怎么办?
    【老孙随笔】求职,不要无的放矢
    读者来信(1)——项目经理,不要迷信制度!
    欣闻鲁迅文章下架
    知道力读书会,欢迎大家参加
    【老孙随笔】是谁杀死了QQ?
    技术,项目经理的命?——项目经理的误区(3)
    可以不封神,但是不能不修炼——亚特兰蒂斯之神特斯拉的启示
    分布式开发2WCF如何正确调用LINQTO SQL
  • 原文地址:https://www.cnblogs.com/dev2007/p/6478525.html
Copyright © 2020-2023  润新知