开发环境和正式环境的数据库数据库版本不同,所以在开发环境正常运行的数据库驱动在正式环境之后,往往会报错。常见错误
1:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server
如果你确定你自己再url 里面设置了字符集,那么很可能就是驱动版本的问题,特别是再mysql8 出来之后,驱动问题很多人问
driverClassName=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://192.168.2.11:3306/yhhs10?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&rewriteBatchedStatements=true jdbc_username=root jdbc_password=123456
这是一个数据库连接配置文件,这里记录下url每个配置的作用,都是自己血的教训
useUnicode=true :是否需要设置编码
characterEncoding=UTF-8:编码格式 当然你可以设置其他的字符编码
zeroDateTimeBehavior=convertToNull:数据库对于日期有自己的格式,如果你更新或者插入的日期不是符合规定的,数据库进行那种操作。一共有以下三种
即这类操作情况的处理策略,有3种
1.exception(不指定,则默认)---->默认抛出异常,
2.convertToNull------->转化为null
3.round------->替换成最近的日期即XXXX-01-01
rewriteBatchedStatements=true:这个设置是是否进行批处理。 对于大量数据的插入和更新,一般会在mybatis 里面用foreach. 配合这个一起才能真正的使用批量插入