最近写项目的时候由于自己Mysql数据库版本低的问题,出现了测试数据不能写到数据库的问题;后来就索性重新装了数据库,遇到了一系列的问题;
1、安装包、驱动包都可以私聊找我要;QQ583868545;驱动你想要合适的去官网下载:https://dev.mysql.com/downloads/file/?id=484819
安装教程:https://blog.csdn.net/qq_37350706/article/details/81707862
2、项目不能启动,需要改变配置文件;
端口占用问题:
有时候启动项目发现端口被占用了,快速定位问题方法;
(1)WIN+R,cmd
(2)输入命令行 netstat -ano出现
找到项目日志打印的是哪个端口被占用,比如是1099端口被占用,记住PID是多少,这里的是5512;
(3)ctrl+shift+esc打开任务管理器,去把程序的PID是5512的停掉,再次重新启动项目就行了;
Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
错误原因:
提示说是数据源配置错误,dialect,driver_class,url,username,password。检查一下这五项
解决方法:
org.hibernate.dialect.MySQL5Dialect:新版本的mysql方言
org.hibernate.dialect.MySQLDialect :老版本的mysql方言
如果你配置的是老版本的方言,可以修改成新版本的方言。
另外在检查一下其他四项的配置时候有错,单词错误之类的
不要认为你的配置就一定是正确的,有时候不经意间写错单词了
3、Mysql8.0的相关配置和遇到的问题
配置Druid连接池,最关键的地方是
a.驱动变了、方言变了
b.url后面追加上时区!!!时区!!!
<!--配置数据库连接池-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://127.0.0.1:3306/ssh?
useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
<!--配置sessionFactory-->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!--spring接管了Hibernate配置-->
<!--<property name="configLocation" value="classpath:hibernate.cfg.xml"></property>-->
<!--使用druid连接池来连接数据库-->
<property name="dataSource" ref="dataSource"></property>
<!--hibernate的可选配置: 通过property-->
<property name="hibernateProperties">
<props>
<prop key="show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL8Dialect</prop>
</props>
</property>
<!--配置映射文件-->
<property name="mappingLocations">
<array>
<value>classpath:mapping/*.hbm.xml</value>
</array>
</property>
</bean>
另外在你的项目包下也要记得将原来的驱动给替换掉;