连库的bean如下:
public class ConnectionBean {
String driver="com.mysql.jdbc.Driver";
String url="jdbc:mysql://localhost:3309/cyjxuser=root&password=1010&useUnicode=true&characterEncoding=utf8";
Connection conn=null;

public Connection getConnection(){
try {
Class.forName(driver);
conn=DriverManager.getConnection(url);

} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}


}数据库表用的引擎是 InnoDB Storage Engine;用的charset是utf-8
插入语句是这样写的:
public class JXDBBean {
ConnectionBean cb=new ConnectionBean();
Connection conn=cb.getConnection();

public String JXParaInsert(ActionForm form){
int flag=0;
JXParaForm jf=(JXParaForm)form;
String sql="insert into check_para (Name,Target_value,Value_type,eff_date,exp_date,State,State_date,Para_type,DEPT_ID) values (?,?,?,?,?,?,?,?,?)";
try {
PreparedStatement pstmt=conn.prepareStatement(sql);
pstmt.setString(1,jf.getName());
pstmt.setString(2,jf.getTarget_value());
pstmt.setString(3,jf.getValue_type());
pstmt.setString(4,jf.getEff_date());
pstmt.setString(5,jf.getExp_date());
pstmt.setString(6,jf.getState());
pstmt.setString(7,jf.getState_date());
pstmt.setString(8,jf.getPara_type());
pstmt.setInt(9,jf.getDept_id());
flag=pstmt.executeUpdate();

if (flag>0){
return "success";
}else{
return "failed";
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}

}
即使插入一个汉字,也会提示data too lang。请问如何解决?