赞
踩
新公司需要数据可视化,想起之前有用过CBoard框架,故而再次把它搬出来进行开发。详情可见:
由于CBoard可以配置多个数据源,以达到连接不同的库而查询出不同数据源的数据表以进行图表展示。而实现方式是CBoard使用自己的数据库保存不同的数据源信息,连接自己的数据库采用的是mybatis方式,连接配置好的数据源采用的是jdbc方式。具体配置如下:
CBoard本身数据库配置在properties里面:
- validationQuery=SELECT 1
- jdbc_url=jdbc:mysql://localhost:3306/cboard?useUnicode=true&characterEncoding=UTF-8
- jdbc_username=root
- jdbc_password=123456
-
- # Service configuration
- dataprovider.resultLimit=300000
- admin_user_id=1
配置的数据源存在数据库中:
而现在遇到的坑是,我在从配置的数据源查询带条件的数据时,条件如果是中文的话会查不出数据,但是如果该sql直接在数据库端运行,是能查出数据的,经过一番调试,发现是jdbc使用praparestatement查询数据时,将中文变成了??然后传到了数据库,这肯定不能查出数据····
调试图如下(忽略toString(),在网上找的解决方案时写的,然并卵):
网上的解决方案都是改字符编码来的:在数据库加上uncode和数据库字符集改成utf-8之类的,是的,这边坑的原因还确实是这样的,但是我这边却弄了好久甚至将idea的编码方式都改成了utf-8还是不行,然而早上突然吃早餐的时候想起,我在页面上查询的数据并不是CBoard的库的数据,而是其他配置好的库里面的数据,数据,数据,难道是数据的问题?!
因为已经知道CBoard配置数据源时已经加号了字符集编码,而忽略的多数据源配置时编码方式了,Oh shit````
修改数据后再进行查询,终于ok了···(内容是因为这个字段的值真的是“内容”,并没有ps 捂脸(*/ω\*)):
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。