在Java中如何向数据库中插入Time类型的数据

在Java中如何向数据库中插入Time类型的数据,第1张

以mysql为例,有个字段是timestamp或者datatime类型

1、可以直接在java中直接new javalangutilDate();

2、获取到一个时间类型的字符串,然后利用SimpleDateFormat中的parse方法将时间字符串解析成一个Date对象。

现在比较流行的框架都是可以直接插入Date类型的数据,只要与数据库中的映射一致即可。

如mybatis,如下:

<resultMap id="BaseResultMap" type="comtestUser" >

<id column="id" property="id" jdbcType="INTEGER" />

<result column="name" property="name" jdbcType="VARCHAR" />

<result column="insert_time" property="insertTime" jdbcType="TIMESTAMP" />

</resultMap>

只要User中的属性insertTime是一个标准格式的javalangutilDate类型,然后调用mybatis的insert方法即可插入。

是代码输入错误造成的,解决方法如下:

1、需要重新配置数据库,首找到数据库安装目录下的MySQLInstanceConfigexe,双击打开。

2、打开之后,前面步骤默认就行,到了所示的地方,修改字符集为utf-8。

3、然后点击下一步,如下图所示。

4、最后重启数据库。在代码中连接数据库部分加上characterEncoding=utf8,这样问题就解决了。

传统拼接insert into table() values(),(),()这种方式实现批量插入

采用数据库持久化框架,比如hibernate,根据插入的记录数,设定每多少次循环执行一次commit *** 作

觉得你没调用stmtexecuteUpdate();这句吧,你可以改成我下面的形式试试。在这之前你得确认连接上数据库了吗?如果你打印con取到了值(或者单步调式看con取到了值)。然后将insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values ('"+snumber+"','"+sname+"','"+ssex+"','"+sbir+"','"+shometown+"','"+snation+"','"+sstatus+"','"+smarrage+"','"+seducation+"','"+sposition+"','"+smobile+"','"+saddress+"')");

改成insert into employee(id,name,sex,born,nation,minzu,zhengzhi,marry,school,zhiwei,tel,address) values (?,?,?,?,?,?,?,?,?,?,?,?)");

然后这样子做:

stmtsetString(1,值);

stmtsetString(2,值);

直至塞完你要插入的值,如果是int的,里面也有stmtsetInt(3,值);

还有float的就有stmtsetFloat(4,值);总之,你想赛什么样的值它都有方法的。

然后你再调用stmtexecuteUpdate();就OK了

都给你说了没调用stmtexecuteUpdate();

怎么不去试试调用stmtexecuteUpdate();呢,调了后没有再找我!

以上就是关于在Java中如何向数据库中插入Time类型的数据全部的内容,包括:在Java中如何向数据库中插入Time类型的数据、java向数据库插入数据时的错误: Duplicate entry '' for key 'PRIMARY' 是什么问题,怎么解决,先谢啦!、java怎么把数据批量插入数据库中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9802969.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存