myBatis框架学习

1、类比JDBC的处理过程

// 加载驱动 Class.forName("com.mysql.jdbc.Driver");  // 获取连接  String url /= "jdbc:mysql://127.0.0.1:3306/magic/_wen";  String user /=  "root";  String password /=  "root"; connection /= DriverManager.getConnection(url, user, password);  // 获取statement,preparedStatement  String sql /=  "select /* from tb/_user where id='001'"; prepareStatement /= connection.prepareStatement(sql);  // 设置参数 prepareStatement.setLong(1, 1l);  // 执行查询

rs = prepareStatement.executeQuery(); // 处理结果集

》容易遇见的问题记录:

1、加载驱动遇到SSL问题,提示WARN: Establishing SSL connection without server’s identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn’t set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to ‘false’. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.  

解决办法:jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=utf-8&useSSL=false(禁用SSL)

2、空指针异常

解决办法:很可能是由于版本差异造成的,需要比较Mysql和mysql-connector-java-版本.jar,最好都保持在一个大版本级别上。

3、提示多个时区问题

解决办法:这是由于数据库和系统时区差异所造成的,在jdbc连接的url后面加上serverTimezone=GMT即可解决问题,如果需要使用gmt+8时区,需要写成GMT%2B8,否则会被解析为空。再一个解决办法就是使用低版本的MySQL jdbc驱动,5.1.28不会存在时区的问题。 加上这个  ?serverTimezone=UTC spring.datasource.url=jdbc:mysql://localhost:3306/exam?serverTimezone=UTC

原文 

https://segmentfault.com/a/1190000022353579

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » myBatis框架学习

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址