2018.5.20 hibernate5.2和Mysql5.7版本的配置。

Hibernate5.2与MySQL5.7配置实战
本文介绍了在使用Hibernate5.2框架时遇到的配置问题,特别是Registry的构建方法变化导致的MappingException。针对MySQL5.7,作者提到了使用MySQL Connector J 8.0,并在hibernate.cfg.xml中进行相应配置的重要性。同时,提醒读者在使用JBoss Hibernate Tool插件配置时,确保选择与JAR包匹配的版本,以避免因版本差异带来的问题。

       在学习hibernate框架时,我下载了hibernate5.2,这个版本的建立Registry的方法改版了,因此,一不小心就

会出现MappingException:.........这就说明方法不对了,这里我贴出我的代码来参考,

Configuration config = new Configuration().configure();
		 StandardServiceRegistry registry = new StandardServiceRegistryBuilder().configure().build();
		sessionFactory = config.buildSessionFactory(registry);
		session = sessionFactory.openSession();
		transaction = session.beginTransaction();

这里用到的是StandardServiceRegistry,原先的过时了。

在mysql5.7的版本里,我用的是C:\Program Files\MySQL\Connector J 8.0版本,就是mysql-jdbc-connector 8.0

在hibernate.cfg.hbm里面,就要改成

<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>

要配置的还有下面这些:

<property name="connection.url">jdbc:mysql://localhost:3306/hibernate</property> 
		<property name="connection.useUnicode">true</property> 
		<property name="connection.characterEncoding">utf8</property> 
    	<property name="hibernate.connection.username">root</property>
    	<property name="hibernate.connection.password">root</property>
    	<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
    	<property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property>
    	<property name="connection.serverTimezone">Asia/Shanghai</property>
    	<property name="connection.pool_size">1</property>
    	<property name="show_sql">false</property>
    	<property name="format_sql">false</property>
    	 <property name="hbm2ddl.auto">create</property>
		<mapping resource="com/xinghe/entity/Students.hbm.xml"/>

上面这部分很关键,我也是参考的https://blog.youkuaiyun.com/jingchuanhe/article/details/54561416。

如果使用JBoss-hibernate tool插件来进行配置时,不要忘了,选择与Jar包相同的版本,

因为不同版本的文件约束会不同。文件结构就不在这里列出了。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值