数据库连接报错 Communications link failure 连接失败可能的原因有
1.mysql数据服务没有开启
2.网络问题 在当前服务器ping 一下看看是否能连接上 mysql服务器
3.wait_timeout的值需要大于数据库连接池的最大超时时间,否则数据库把连接关了而连接池还没关则造成连接不可使用
mysql数据库有一个 wait_timeout(非交互连接超时时间,即jdbc连接) 和interactive_timeout(交互连接超时时间,即客户端连接)配置,默认是8小时,8小时内都没有访问则访问会被拒绝。 修改的话修改 my.ini配置文件里的wait_timeout和interactive_timeout 属性值
手动操作事务的时候一定要保证事务的提交,如果该事务不提交,则其他的相关事务都需要等待该事务,最终可能造成数据库挂掉
@Transactional 事务注解需要加在接口的实现类或接口实现方法上,方法必须是public修饰的
数据库锁分类
按对象 分 DDL锁(数据结构锁) DML(数据操作锁)
按机制 悲观锁 乐观锁
按范围 表锁 行锁
按类型 排它锁 共享锁 意向锁