mybatis 自定义类型转换器 (后台日期类型插入数据库)


后台日期类型插入数据库 有以下几种发法:

1 调用数据库 日期字符串转日期函数 str_to_date("日期","yyyy-MM-dd HH:mm:ss")

2. INSERT INTO person (NAME,sex,DATE) VALUES ('${name}','${sex}',#{date ,javaType=java.util.Date,jdbcType=TIMESTAMP}

3 自定义类型转换器:(2,3方法里插值符号必须为 # 号)

泛型类型为Java-->jdbc    set方法把Java-->jdbc   get方法  jdbc -->java 数据库到Java 可以bean 日期属性加 @dateformat()注解

public
class Myconvert extends BaseTypeHandler<Date> { public void setNonNullParameter(PreparedStatement preparedStatement, int i, Date date, JdbcType jdbcType) throws SQLException { String d=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date); preparedStatement.setString(i,d ); } public Date getNullableResult(ResultSet resultSet, String s) throws SQLException { return resultSet.getDate(s); } public Date getNullableResult(ResultSet resultSet, int i) throws SQLException { String d=resultSet.getString(i); try { return (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).parse(d); } catch (ParseException e) { e.printStackTrace(); } return null; } public Date getNullableResult(CallableStatement callableStatement, int i) throws SQLException { return null; } }

自定义完 配置文件里注册

<typeHandlers>
  <typeHandler handler="com.mybatis.convert.Myconvert" javaType="java.util.Date" jdbcType="TIMESTAMP"/>

</typeHandlers>

注册完使用 

 INSERT INTO person (NAME,sex,DATE) VALUES ('${name}','${sex}',#{date,typeHandler=com.mybatis.convert.Myconvert})

  

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM