Java类型 MySQL数据类型 --------------------------------------- byte TINYINT short SMALLINT int INT long BIGINT float FLOAT double DOUBLE boolean TINYINT char CHAR String VARCHAR Date DATE/DATETIME/TIMESTAMP
在Java中使用MySQL进行数据存储和查询时,默认情况下,Java类型与MySQL数据类型是自动匹配的。例如:
String sql = "INSERT INTO user (username, password) VALUES (?, ?)"; PreparedStatement pstmt = conn.prepareStatement(sql); pstmt.setString(1, "张三"); pstmt.setString(2, "123456"); pstmt.executeUpdate();
在上述代码中,Java中的字符串类型“String”对应MySQL中的“VARCHAR”类型。Java中的PreparedStatement对象会自动将Java类型转换为相应的MySQL数据类型。
但在某些情况下,需要手动指定Java类型与MySQL数据类型的对应关系,以确保数据的准确性。例如,在使用MyBatis框架进行数据访问时,可以使用以下配置指定Java类型与MySQL数据类型的对应关系:
<resultMap id="userMap" type="User"> <result property="id" column="id" jdbcType="BIGINT" /> <result property="username" column="username" jdbcType="VARCHAR" /> <result property="password" column="password" jdbcType="VARCHAR" /> </resultMap>
在上述代码中,Java中的“BIGINT”类型对应MySQL中的“BIGINT”类型,“VARCHAR”类型对应MySQL中的“VARCHAR”类型。
总的来说,Java类型与MySQL数据类型的对应关系需要在数据存储和查询过程中被明确指定,才能确保数据的正确性。