Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource)

Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource)

为什么使用 Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource)?
1. Java应用中乱码一直是一个头疼的问题,还好我们有UTF-8。应用整体都使用UTF-8对文件编码,包括数据库连接和存取。这样可以有效的减少和避免乱码问题。因此在JDBC连接MySQL数据库的时候我选用了MySQL(UTF-8)的连接方式
2. 使用连接池(connection pool)形式的数据源是Jetty官方推荐的 数据源(DataSource)配置方式,既然官方都推荐使用 连接池(connection pool)数据源(DataSource),为啥我们还用其它方式?

今天需要在一台Linux服务器的Jetty上配置一个MySQL(UTF-8)连接池(connection pool)数据源(DataSource),于是这个数据源连接是针对一个特定的应用的,因此我使用了context xml方式的连接池(connection pool)数据源(DataSource)配置方式,关于context xml 连接池(connection pool)数据源(DataSource)配置方式和其它两种配置方式,请参参阅 5大数据库Jetty数据源配置demo

在Jetty安装目录/contexts/目录下,增加配置文件test.xml,代码如下:

    
  
    test
    
     
                 com.mysql.jdbc.Driver
                  jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=UTF8
                 test
                 test
     
    
   

简要说明:
上述代码就完成了 Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource)的全部工作,这段配置增加了标识为TestDS的 连接池(connection pool)数据源(DataSource),它的可以使用JNDI查找名称”test”来进行引用。

在上述的 Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource) 中有两点内容需要注意:

1.  <Configure>中没有生命 id 属性,因此在 连接池(connection pool)数据源(DataSource)的配置信息中,只需要一个<Arg>test</Arg>配置;如果Configure中包含有id属性,例如<Configure id=”myTest”>,那<Arg>test</Arg>应该替换为<Arg></Arg><Arg>test</Arg>这样的形式,也就是说增加了一个参数为空的<Arg></Arg>声明。

2. jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=UTF8 的写法应该注意,’&’应该替换为转义字符’&amp;’,否则Jetty会因为无法解析这个字符而报错。

看过上面的内容,相信您对 Jetty配置MySQL(UTF-8)连接池(connection pool)数据源(DataSource) 应该有了一个简单的认识了吧。
[ad#468-60]

Scroll to Top