使用dbutils对mysql进行增加,查询时出现乱码问题,都是问号代替中文。
C3P0配置文件如下:
<c3p0-config>
<default-config>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/blog</property>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="user">root</property>
<property name="password">1234</property>
<property name="acquireIncrement">3</property>
<property name="initialPoolSize">5</property>
<property name="minPoolSize">2</property>
<property name="maxPoolSize">8</property>
</default-config>
</c3p0-config>
代码如下
//添加用户
public void add(User u) {
try {
String sql ="insert into user values(?,?,?,?,?)";
Object[] params={u.getId(),u.getName(),u.getPass(),u.getAge(),u.getGender()};
qr.update(sql,params);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
//查询所有用户
public List<User> query() {
String sql="select * from user";
try {
return qr.query(sql,new BeanListHandler<User>(User.class));
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
页面以及数据库乱码如下
控制台输出如下:
[User [id=08C3B1F6CEC642D89F0D84A8FC5948D8, name=??????, pass=das, age=12, gender=?]
[User [id=54333420A77B474C9FA3E905770737B9, name=qqq, pass=qqq, age=10, gender=?]
User [id=B60761EF78294F38BCC6F0FE5380718D, name=??, pass=dsad , age=15, gender=?]
发现这样错误只需要在配置文件中jdbcUrl中加如下参数
<property name="jdbcUrl">jdbc:mysql://localhost:3306/blog?characterEncoding=utf8</property>