问答详情
源自:2-4 Dao开发

save的时候如果name存入的是中文,那编码问题怎么解决?

这是创建学生的实现:

@Override
public void create(Student student) {
    Connection connection = null;
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    String sql = "insert into student (name, age) values (?,?)";
    try {
        connection = JDBCUtil.getConnection();
        preparedStatement = connection.prepareStatement(sql);
        preparedStatement.setString(1, student.getName());
        preparedStatement.setInt(2, student.getAge());
        preparedStatement.executeUpdate();

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        JDBCUtil.release(resultSet, preparedStatement, connection);
    }
}


这是单元测试:

@Test
public void create() {
    StudentDAO studentDAO = new StudentDAOImpl();
    Student student = new Student();
    student.setName("赵六");
    student.setAge(26);
    studentDAO.create(student);
}


提问者:小囙 2018-05-19 16:15

个回答

  • weibo_借我时间_0
    2018-05-21 23:22:58
    已采纳

    将url替换成这个:后面的参数用来指定编码 
    url = jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF8
    数据库创建时编码也设置成UTF-8,还有表字段编码都保持一致