Ibaties 插入数据时,时间字段为空

insert into table(id,datetime) values(#id#,#{datetime,jdbcType=DATE}#)

 

jdbcType根据你的数据类型进行设定,具体类型如下

JDBC Type			Java Type
CHAR				String
VARCHAR				String
LONGVARCHAR			String
NUMERIC				java.math.BigDecimal
DECIMAL				java.math.BigDecimal
BIT				boolean
BOOLEAN				boolean
TINYINT				byte
SMALLINT			short
INTEGER				int
BIGINT				long
REAL				float
FLOAT				double
DOUBLE				double
BINARY				byte[]
VARBINARY			byte[]
LONGVARBINARY		 	byte[]
DATE				java.sql.Date
TIME				java.sql.Time
TIMESTAMP			java.sql.Timestamp
CLOB				Clob
BLOB				Blob
ARRAY				Array
DISTINCT			mapping of underlying type
STRUCT				Struct
REF	                        Ref
DATALINK			java.net.URL[color=red][/color]

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中向表中插入包含坐标字段数据,需要使用数据库支持的空间类型,例如MySQL中支持空间类型的存储引擎为MyISAM和InnoDB。在使用MyBatis进行数据库操作,需要配置MyBatis的空间类型别名以及使用MyBatis提供的空间类型处理器,例如MyBatis提供的org.apache.ibatis.type.DoubleArrayTypeHandler和org.apache.ibatis.type.GeometryTypeHandler等。 假设有一个名为points的表,包含id、name、location等字段,其中location字段为坐标类型,可以使用以下代码向表中插入包含坐标字段数据: ```java // 定义一个包含坐标信息的Point对象 public class Point { private int id; private String name; private double[] location; // getter和setter方法省略 } // 在MyBatis的SQL映射文件中定义插入数据的SQL语句 <insert id="insertPoint" parameterType="Point"> INSERT INTO points(name, location) VALUES (#{name}, point(#{location[0]}, #{location[1]})) </insert> // 在Java代码中调用MyBatis执行SQL语句 Point point = new Point(); point.setName("test"); point.setLocation(new double[] { 10.0, 20.0 }); SqlSession sqlSession = sqlSessionFactory.openSession(); sqlSession.insert("insertPoint", point); sqlSession.commit(); sqlSession.close(); ``` 在上述代码中,使用MyBatis提供的#{location[0]}和#{location[1]}参数占位符来获取坐标点的经度和纬度信息,并使用point函数将其组合成一个坐标点,然后插入数据库中。需要注意的是,在定义SQL语句,需要使用空间类型的函数和关键字,如point、geometry、asbinary等,具体使用方式可以参考对应数据库的文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值