-
Notifications
You must be signed in to change notification settings - Fork 717
FAQ
junior_xin edited this page Dec 5, 2018
·
3 revisions
A: 由于Zebra组件是以jar包的形式使用,所以仅支持java及其他使用jvm语言(Scala,Groovy...)。
A: 当前推荐版本是5.1.40+,目前官方mysql-connector-java 存在3个大版本 5.1.x, 6.0.x, 8.0.x。
5.1.x作为推荐版本 美团点评公司当前99.9%的应用都使用此类版本,可以保证兼容性和一致性。
6.0.x禁止使用 该版本号只有几个release,已经有一段时间不维护且与5.1.x存在一些兼容性的问题。
8.0.x尚未经过验证 该版本主要为了兼容mysql8.0 用户酌情使用。
如需了解driver详细Release请参考 Mysql Connector/J Release Notes。
xml依赖
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${version}</version>
</dependency>
在初始化DataSource时由每一个客户端自行定义,比如在spring的xml的bean中添加一个额外的参数:extraJdbcUrlParams,按照param1=value1¶m2=value2的格式配置,但是在xml中,需要对 “&” 进行转义 &
<bean id="dataSource" class="com.dianping.zebra.group.jdbc.GroupDataSource" init-method="init" destroy-method="close">
<!--添加额外的jdbc url的参数-->
<property name="extraJdbcUrlParams" value="param1=value1&param2=value2" />
</bean>
A1: 检查连接mysql的版本 如果是mysql5.7或mysqlserver的collation_server为utf8_general_ci, 将mysql-connector-java升级到5.1.33及以上版本后可以直接支持。
A2: 一般情况下,业务方在使用这个参数时,都是设置编码方式:"set names utf8mb4"。
<bean id="dataSource" class="com.dianping.zebra.group.jdbc.GroupDataSource" init-method="init" destroy-method="close">
<property name="poolType" value="druid" />
<!--除了c3p0之外的其他连接池都可以支持connectionInitSql-->
<property name="connectionInitSql" value="set names utf8mb4" />
</bean>
A: 通过 connectionInitSql的方式设置, 整个数据源的生命周期内生效。
<bean id="dataSource" class="com.dianping.zebra.group.jdbc.GroupDataSource" init-method="init" destroy-method="close">
<property name="poolType" value="druid" />
<!--除了c3p0之外的其他连接池都可以支持connectionInitSql-->
<property name="connectionInitSql" value="set session transaction isolation level read committed" />
</bean>