除之前的Spring相关包,还有structs2包外,还需要Hibernate的相关包

首先,Spring整合其他持久化层框架的JAR包 spring-orm-4.2.4.RELEASE.jar  (整合Hibernate的)

这个JAR包在Spring框架中包含

Hibernate 需要的JAR包

slf4j-api-1.7.7.jar

slf4j-log4j12-1.7.1.jar

jboss-logging-3.3.0.Final.jar

jandex-2.0.3.Final.jar

hibernate-entitymanager-4.2.3.final.jar

hibernate-jpa-2.1-api-1.0.0.Final.jar

hibernate-core-5.2.12.Final.jar

hibernate-commons-annotations-5.0.1.Final.jar

geronimo-jta_1.0.1b_spec-1.1.1.jar

antlr-2.7.7.jar


上面Hibernate11个包

以及前边的JAR包共计43个

下载地址如下:

链接: https://pan.baidu.com/s/1mizikiO 密码: cigf


java.lang.ClassNotFoundException: org.dom4j.io.STAXEventReader 异常

缺少了dom4j-1.6.1.jar 包

在Hibernate官方包中

包含dom4j-1.6.1.jar 的官方Hibernate整包下载地址

链接: https://pan.baidu.com/s/1c2Jbmnu 密码: 3sef


需要JAR包 classmate-1.3.0.jar

在Hibernate官方包中


注意:Hibernate的核心配置文件hibernate.cfg.xml 要在src文件夹下,不能在其下的某个包中,否则会出现

最后,Hibernate测试成功效果

不用数据库创建表,通过实体类映射文件User.hbm.xml,它的位置随意。把User类映射到数据库中

映射文件代码:

<?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.swift.entity.User" table="hibernate_user">
<!-- 主键 -->
<id name="uid" column="uid">
<generator class="native"/>
</id>
<!-- 其他属性 -->
<property name="username" column="username"/>
<property name="address" column="address"/>
</class> </hibernate-mapping>

实体类代码如下:

package com.swift.entity;

public class User {

    private Integer uid;
private String username;
private String address;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public Integer getUid() {
return uid;
}
public void setUid(Integer uid) {
this.uid = uid;
} }

这里要注意uid所使用的整型类型不是int,而是Integer

Hibernate核心配置文件,要在src目录下,一定注意位置,在其中指定上边的映射文件,同时连接数据库,并自动生成表。

核心配置文件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="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/lastday</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property> <property name="hibernate.show_sql">true</property> <!-- create: 先删表,再建表。 create-drop: 启动时建表,退出前删表。 update: 如果表结构不一致,就创建或更新。
validate: 启动时验证表结构,如果不致就抛异常。 -->
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <!--指定映射文件,可映射多个映射文件 -->
<mapping resource="com/swift/entity/User.hbm.xml"></mapping>
</session-factory>
</hibernate-configuration>

加载核心配置文件的测试类HibernateUtil 代码如下:

package com.swift.entity;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; public class HibernateUtil {
static SessionFactory sessionFactory=null;
static Configuration cfg=null; static{
//加载核心配置文件
cfg = new Configuration();
cfg.configure();
sessionFactory = cfg.buildSessionFactory();
} public static SessionFactory getSessionFactory(){
return sessionFactory;
}
public static Session getSession(){
return sessionFactory.getCurrentSession();
}
public static void main(String[] args) { }
}

数据库中查看效果

是空的,数据库中什么都没有,没有自动建成的表。

仔细检查都没有错了,排除了映射混乱问题,就是不出表,SQL语句都成功打出了,也没有任何异常。

最后参考了这个兄弟的解释

<property name="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</property>

.MySQLDialect添加了第57区的方言,就搞定了。

ssh整合思想 Spring与Hibernate的整合ssh整合相关JAR包下载 .MySQLDialect方言解决无法服务器启动自动update创建表问题的更多相关文章

  1. ssh整合思想 Spring与Hibernate的整合 项目在服务器启动则自动创建数据库表

    Spring整合Hibernate Spring的Web项目中,web.xml文件会自动加载,以出现欢迎首页.也可以在这个文件中对Spring的配置文件进行监听,自启动配置文件, 以及之前Struts ...

  2. Spring框架针对dao层的jdbcTemplate操作crud之delete删除数据库操作 Spring相关Jar包下载

    首先,找齐Spring框架中IoC功能.aop功能.JdbcTemplate功能所需的jar包,当前13个Jar包 1.Spring压缩包中的四个核心JAR包,实现IoC控制反转的根据xml配置文件或 ...

  3. ssh整合思想 Spring与Hibernate和Struts2的action整合 调用action添加数据库 使用HibernateTemplate的save(entity)方法 update delete get 等方法crud操作

    UserAction类代码: package com.swift.action; import com.opensymphony.xwork2.ActionSupport; import com.sw ...

  4. Strut、Spring、Hibernate如何实现资源整合(SSH)呢?

    Strut.Spring.Hibernate如何实现资源整合(SSH)呢? 其实很简单,我们从Spring与Hibernate的整合中可以看出来,由Spring的配置文件来管理Hiberbate的配置 ...

  5. Spring、MyBatis和SpringMVC整合的jar包下载

    spring mvc的jar包下载:http://repo.springsource.org/libs-release-local/org/springframework/spring/我下载的5.0 ...

  6. Spring自动扫描无法扫描jar包中bean的解决方法(转)

    转载自:http://www.jb51.net/article/116357.htm 在日常开发中往往会对公共的模块打包发布,然后调用公共包的内容.然而,最近对公司的公共模块进行整理发布后.sprin ...

  7. 【spring cloud】【IDEA】【Maven】spring cloud多模块打包,打包的jar包只有几k,jar包无法运行,运行报错:no main manifest attribute, in /ms-eureka.jar

    ======================================================================================== 引申:maven打包多 ...

  8. 在IDEA中如何将Spring boot项目打包成可执行的jar包并发布到linux服务

    这两年微服务很流行,这里简单介绍一下如何将自己使用idea写的微服务打包成一个可执行的jar包,并发布到linux服务器的步骤.因为spring boot有内置的tomcat所以一般使用内置的tomc ...

  9. JAVAEE——SSH三大框架整合(spring+struts2+hibernate)

    一.整合原理 二.导包(41个) 1.hibernate (1)hibernate/lib/required (2)hibernate/lib/jpa | java persist api java的 ...

随机推荐

  1. JS中的MOD运算

    最近研究汉诺塔非递归的时候,看到书上写了个MOD,久违啊,感觉好久没看到过了,都忘了怎么用了. 某人:我知道,这不就是取余嘛,直接%就行了. 嗯......,如果是python语言,你说的很对,但是我 ...

  2. 微信分账功能与微信支付企业付款相关内容详解(payjs版)

    PAYJS开通微信分账功能以来,有很多同学咨询相关情况.很多同学关心有没有什么办法,可以让自己的商户号快速开通企业付款功能.这里就介绍下微信分账的具体相关内容,可以完美解决问题. 一.什么是微信分账? ...

  3. sass预编译器

    突然间就不怎么想用博客写笔记了,想改用有道云笔记 sass sass是一个css的预编译程序, 是基于 ruby 的 先要去安装 ruby 在命令行中, 执行以下两句代码(安装sass的), 连网操作 ...

  4. [Java]LinkedHashMap实现原理

    1.概述 在理解了#7 介绍的HashMap后,我们来学习LinkedHashMap的工作原理及实现.首先还是类似的,我们写一个简单的LinkedHashMap的程序: LinkedHashMap&l ...

  5. 删除vi编辑产生的.swp文件(linux编辑文件没有退出时直接关闭程序产生的临时文件)

    关于swp文件 使用vi,经常可以看到swp这个文件,那这个文件是怎么产生的呢,当你打开一个文件,vi就会生成这么一个.(filename)swp文件以备不测(不测下面讨论),如果你正常退出,那么这个 ...

  6. 树莓派连接启动SSH

    树莓派的官方更新消息发布:http://downloads.raspberrypi.org/raspbian/release_notes.txt SSH禁用的启用方法: 2016年11月25日: * ...

  7. nodejs 实践:express 最佳实践 (一) 项目结构

    express 最佳实践 (一) 第二篇: express 最佳实践(二):中间件 最近,一直在使用 nodejs 做项目,对 nodejs 开发可以说深有体会. 先说说 nodejs 在业务中的脚色 ...

  8. 日历插件:Bootstrap的datetimepicker插件

    注意:可以选择性引入 bootstrap.min.css和bootstrap.min.js,引入样式更好控制 option选项 0-hour 1-day 2-month 3-year 4-all ye ...

  9. [Java][Web] Servlet中转发和重定向比较

    Servlet中页面跳转的两种方式 请求转发 使用requestDispatcher对象 request.getRequestDispatcher("path").forward( ...

  10. js浮点数计算(加,减)

    最近工作中经常遇到需要处理浮点型计算的问题,开始一直都在用把浮点数先乘以10的对应小数的位数的次方化成整数再去开始计算. 例如100.01+100.02,可以化成(100.01*100+100.02* ...