问题分析 后端从数据库中获取封装好的Map 然后传到前端渲染出来 原来的数据库是MySQL5.5,现在的电脑换成了MySQL5.7 原来这个都可以得到结果,现在getMenus是空的。
<!-- 关系映射-->
<resultMap id="menuMap" type="com.sport.sports.Bean.MainMenu">
<id column="id" property="id"></id>
<result column="title" property="title"></result>
<result column="path" property="path"></result>
<collection property="sList" ofType="com.sport.sports.Bean.SubMenu">
<id column="sid" property="id"></id>
<result column="stitle" property="title"></result>
<result column="spath" property="path"></result>
</collection>
</resultMap>
<select id="getMenus" resultMap="menuMap">
SELECT mm.*,sm.id as sid ,sm.title as stitle ,sm.path as spath FROM
mainmenu mm ,submenu sm WHERE mm.id = sm.mid and mm.allowperson like #{role}
</select>
MySQL5.5时 application.yml文件 这个配置连接文件在MySQL5.5的时候可以用,且没有问题
# mysql
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/easyproject?useUnicode=true&characterEnco
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.demo.model
server:
port: 9000
当换成MySQL5.7的时候 前端传到后端,后端查询菜单的时候查不到、后端对数据库进行添加的时候数据库中非数字都是问号(????) 我脑袋里其实也都是问号
修改方法
将application.yml文件中的url进行修改
# mysql
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/easyproject?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=UTF-8
username: root
password: root
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.example.demo.model
server:
port: 9000
修改完就 成功啦!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
嘻嘻嘻
添加
MySQL5.7版本的url:
jdbc:mysql://localhost:3306/mybatis_plus?characterEncoding=uft-8&useSSL=false
MySQL8.0版本的url:
jdbc:mysql://localhost:3306/mybatis_plus?serverTimezone=GMT%2B8&characterEncoding=uft-8&useSSL=false