精华内容
下载资源
问答
  • 报错信息是: ... check the manual that corresponds to your MySQL server version for the right syntax to use near...mysql中数据类型是data类型的对应的实体类的属性是什么类型,老是报错,插入失败。啊啊,头大了。
  • 你看一下数据库里面dataline的格式,TP在插入数据的时候会检查字段在数据库中的格式并将数据转换为对应的格式。if(!isset($this->options['bind'][':'.$key]) && isset($this->fields['_type'][$key.....

    9cc18a601b5cf96bd33e6076365b2869.png

    图片上边是要插入的数据,下边是getLastsql()获取的插入语句 dateline字段值变了?

    你看一下数据库里面dataline的格式,TP在插入数据的时候会检查字段在数据库中的格式并将数据转换为对应的格式。

    if(!isset($this->options['bind'][':'.$key]) && isset($this->fields['_type'][$key])){

    $fieldType = strtolower($this->fields['_type'][$key]);

    if(false !== strpos($fieldType,'enum')){

    // 支持ENUM类型优先检测

    }elseif(false === strpos($fieldType,'bigint') && false !== strpos($fieldType,'int')) {

    $data[$key]   =  intval($data[$key]);

    }elseif(false !== strpos($fieldType,'float') || false !== strpos($fieldType,'double')){

    $data[$key]   =  floatval($data[$key]);

    }elseif(false !== strpos($fieldType,'bool')){

    $data[$key]   =  (bool)$data[$key];

    }

    }

    还有数据库字段定义的长度

    首先数据库存时间字段推荐为int(10)类型

    省空间效率高且非常灵活

    时间转换格式可以在php之中做转换就好。

    框架会对数据进行格式化操作,既然框架不合适那就原生就好了,要了解所以然就要去看框架的源码了

    展开全文
  • MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30如下图: 因此我们在往MySQL数据库插入数据时,需要先进行格式化。在java中,我们通常这样格式化日期://生成日期对象Date current_date = new Date();//...

    MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30

    如下图:

    0818b9ca8b590ca3270a3433284dd417.png

    因此我们在往MySQL数据库中插入数据时,需要先进行格式化。在java中,我们通常这样格式化日期:

    //生成日期对象

    Date current_date = new Date();

    //设置日期格式化样式为:yyyy-MM-dd

    SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

    //格式化当前日期

    SimpleDateFormat.format(current_date.getTime());

    //输出测试一下

    System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));

    运行结果:

    0818b9ca8b590ca3270a3433284dd417.png

    OK,只要把日期格式转化成 yyyy-MM-dd ,就可以顺利插入到MySQL数据库了。

    我用的是SpringMVC+MySQL,下面是controller层和dao层的关键代码:

    controller层:

    //新生成一个实体对象,把需要插入数据库的数据封装起来

    Picture_of_user picture_of_user = new Picture_of_user();

    //生成日期对象

    Date current_date = new Date();

    //设置日期格式化样式为:yyyy-MM-dd

    SimpleDateFormat SimpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");

    //格式化当前日期

    SimpleDateFormat.format(current_date.getTime());

    //输出测试一下

    System.out.println("当前的系统日期为:" + SimpleDateFormat.format(current_date.getTime()));

    picture_of_user.setPicture_name(file.getOriginalFilename());

    picture_of_user.setPicture_size((int) file.getSize());

    picture_of_user.setUpload_date(SimpleDateFormat.format(current_date.getTime()));

    picture_of_user.setPicture_type(file.getContentType());

    picture_of_user.setUsername("admin");

    //测试输出

    System.out.println(SimpleDateFormat.format(current_date.getTime()));

    System.out.println("picture_of_user.getPicture_name():" + picture_of_user.getPicture_name());

    System.out.println("picture_of_user.getPicture_size():" + picture_of_user.getPicture_size());

    System.out.println("picture_of_user.getUpload_date():" + picture_of_user.getUpload_date());

    System.out.println("picture_of_user.getPicture_type():" + picture_of_user.getPicture_type());

    System.out.println("picture_of_user.getUsername():" + picture_of_user.getUsername());

    //调用D层实现类方法,把数据保存到数据库

    fileUpload_1_0_Dao.saveUploadPicture(picture_of_user);

    dao层关键代码:

    @Override

    public boolean saveUploadPicture(Picture_of_user picture_of_user) {

    //定义一个Boolean类型的flag,用来表示查询状态

    boolean flag = false;

    sql = "insert into picture_of_user(id,picture_name,picture_size,upload_date,picture_type,username) " +

    "values(?,?,?,?,?,?);";

    int i = this.getJdbcTemplate().update(sql, new Object[]{

    null,

    picture_of_user.getPicture_name(),

    picture_of_user.getPicture_size(),

    picture_of_user.getUpload_date(),

    picture_of_user.getPicture_type(),

    picture_of_user.getUsername()

    });

    //如果插入操作执行成功,则flag=true;否则flag=flase

    if(i > 0){

    //测试输出

    System.out.println("i = " + i);

    flag = true;

    }

    else{

    //测试输出

    System.out.println("i = " + i);

    flag = false;

    }

    return flag;

    } 关于java日期格式转化先说到这里。

    展开全文
  • 在Mysql数据库中日期跟时间有两种:1、date类型date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期,2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000...

    在Mysql数据库中日期跟时间有两种:

    1、date类型,date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期,

    2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000-01-01到 9999-12-31的日期。

    9c33a72acbd80fdca539e7ad74700b38.png

    上面mysql数据库中birthday字段类型设置的是datetime,当我们需要存入数据库时,直接将java.util.Date存入数据库是不行的!

    我往数据库插入的数据是这样的

    Date date=new Date(); //获取一个Date对象

    DateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象

    String birthday= simpleDateFormat.format(date); //格式化后的时间

    这样得到的时间对象确实是 “yyyy-MM-dd HH:mm:ss“,程序运行下去应该没有事,但是控制台报错了,因为在实体类中设置字段birthday是使用的java.util.Date类型,然后我传过去自然就是错误的。

    import java.util.Date;

    public class User{

    private String id;

    private String username;

    private Date birthday;

    ……

    需要进行转换,使用Timestamp对象,代码如下:

    java.util.Date date = new java.util.Date(); // 获取一个Date对象

    Timestamp timeStamp = new Timestamp(date.getTime()); // 将日期时间转换为数据库中的timestamp类型

    使用这两行代码转换时间后,我们就可以往数据库插入”yyyy-MM-dd HH:mm:ss“类型。

    通过Intellij IDEA查看继承关系,我们可以发现Timestamp对象也是继承了Date类

    9c33a72acbd80fdca539e7ad74700b38.png

    向mysql数据库插入datetime类型数据的两种方法

    方式一:使用java.sql.Timestamp这个类来进行转换(推荐)

    Timestamp t = new Timestamp(user.getBirthay().getTime());

    ps.setTimestamp(3, t);

    这样就可以直接存入数据库!

    方式二:将birthday转换成特定格式的字符串String,存入数据库,这样也可以!

    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    String birthday = df.format(user.getBirthay());

    ps.setString(3, birthday);//这样和下面这样都可以!

    ps.setObject(3, birthday);

    125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/1859.html

    展开全文
  • 关于时间date的类型,该如何定义,我们在数据库中定义为date类型,如下图: 我们在实体类中可以这样定义:package com.spring.model;public class Picture_of_user {//图片名private String picture_name;//图片大小...

    关于时间date的类型,该如何定义,我们在数据库中定义为date类型,如下图:

    0818b9ca8b590ca3270a3433284dd417.png

    我们在实体类中可以这样定义:

    package com.spring.model;

    public class Picture_of_user {

    //图片名

    private String picture_name;

    //图片大小

    private int picture_size;

    //上传时间

    private String upload_date;

    //文件类型

    private String picture_type;

    //图片拥有者

    private String username;

    //各个属性的setter、getter方法

    public String getPicture_name() {

    return picture_name;

    }

    public void setPicture_name(String picture_name) {

    this.picture_name = picture_name;

    }

    public int getPicture_size() {

    return picture_size;

    }

    public void setPicture_size(int picture_size) {

    this.picture_size = picture_size;

    }

    public String getUpload_date() {

    return upload_date;

    }

    public void setUpload_date(String upload_date) {

    this.upload_date = upload_date;

    }

    public String getPicture_type() {

    return picture_type;

    }

    public void setPicture_type(String picture_type) {

    this.picture_type = picture_type;

    }

    public String getUsername() {

    return username;

    }

    public void setUsername(String username) {

    this.username = username;

    }

    public Picture_of_user(){

    }

    }

    也就是说,我们在实体类中,即使把时间date的类型定义为String,也是可以的。只要符合MySQL数据库的date的格式就行。

    MySQL默认的数据类型格式是:yyyy-MM-dd,如:2015-12-30

    请参考之前的一篇博文:

    Java向MySQL数据库插入时间类型Date数据时需要注意的问题  http://blog.csdn.net/reggergdsg/article/details/50410289

    展开全文
  • 如果oracle数据库的表中有date类型的字段,假设字段名为TIME,要插入的日期为now,now是string格式,值为“1900-01-01”,则用以下语句插入数据会失败: string.Format("insert into tablename (TIME) values('{0}')...
  • oracle数据库插入date类型数据时,报错:格式代码出现两次 原因: 格式化字符串有问题, 其中不应该将某个格式重复两次,否则Oracle就不知道要从哪个占位区间去解析该字段了, 解决:正确的格式应该是这样的,用MI...
  • MySQL默认的数据类型格式是:yyyy...因此我们在往MySQL数据库插入数据时,需要先进行格式化。在java中,我们通常这样格式化日期: //生成日期对象 Date current_date = new Date(); //设置日期格式化样式为:y
  • 关于时间date的类型,该如何定义,我们在数据库中定义为date类型,如下图: 我们在实体类中可以这样定义: package com.spring.model; public class Picture_of_user { //图片名 private String ...
  • java中向数据库插入date数据类型

    千次阅读 2007-06-13 21:10:00
    java中向数据库插入date数据类型要求为2007-06-13格式,因为数据库中的时间类型就是datetime类的。求救.....请高手指导用什么方法可以插入该数据类型...
  • com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect date value: '1992' for column 'workDate' at row 1
  • 使用Java代码往oracle数据库插入日期类型数据方法一:直接传一个Date对象方法二:使用SimpleDateFormat对象方法三使用to_date函数![在这里插入图片描述]...
  • 数据库建表: DROP TABLE IF EXISTS stu; CREATE TABLE `stu` ( `id` int(4) NOT NULL auto_increment, `name` varchar(10) NOT NULL, `age` int(2) NOT NULL, `birthday` datetime NOT NULL, PRIMARY ...
  • 用SQL语句向数据库添加date类型字段

    千次阅读 2019-10-02 14:29:05
    在开发的时候,经常要写条SQL语句将信息插入表中,插入的数据如果字段是date类型,就必须将date类型转换成字符串String类型在通过sql语句插入数据库。这是我找到添加该字段的方法!我的解决方法是用oracle中的to_...
  • 前端页面type类型是:datetime-local,因为如果是date类型,只显示年月日,不显示时间,这个可以显示时间但插入时会以:2020-02-0202T10:10 这个格式出现,所以下面代码,将这个格式转换为:2020-02-02 10:10 ,通过...
  • //sql.date 类型,其余都是string类型 ps.setDate(index++, a.getPauseDate()); ps.setDate(index++, a.getCloseDate()); ps.setObject(index++, a.getRealName()); ps.setObject(index++, a....
  • 首先执行 alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; 然后执行insert语句而无需使用to_date函数 转载于:https://www.cnblogs.com/jeryM/p/7880620.html
  • 控制端用的是webwork,表单类型text ...然后就可以插入类型Date的oracle字段了 代码: String beginDate; DateFormat df = new SimpleDateFormat("yyyy-mm-dd"); java.sql.Date beginDate_date...
  • 在Mysql数据库中日期跟时间有两种:1、date类型date类型也就是我们常见的储存yyyy-MM-dd类型的日期,它不能储存时间,也就是只能储存日期,2、dateitme就是可以储存日期同时也可以储存时间。 datetime可以保存1000...
  • Date date=new Date(); //获取一个Date对象 DateFormat simpleDateFormat= new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); //创建一个格式化日期对象 String punchTime = simpleDateFormat.format(date); //格式化...
  • 场景是:我们现在要增加某一会所的会员信息账户,但是,登记时间数据库中字段类型是Date,而我们获取的是String类型的,直接存是存不进去的,那怎么将String类型的数据存入以Date类型数据库中呢??? 我直接用的...
  • Date date=new Date(); //先获取一个Date对象 DateFormat simpleDateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建一个格式化日期对象 String punchTime = simpleDateFormat.format(date);//格式...
  • 通过下面的步骤,就可以完全解决java插入mysql数据库时间以后再取出的的时间跟插入时的时间不一致,或者丢失了毫秒数的问题,或者插入数据库前的时间转为Long的值跟取出的时间转为的long值不一致的问题。。1.类的...
  • 使用mybatis进行日期格式插入的时候发现没有时分秒在pojo中日期格式使用java.util.Date但是在xml中指定了jdbcType经过测试发现jdbcType 指定为DATE的时候,数据库只会保存 年月日jdbcType指定为TIME的时候,数据库...
  • 1.使用Date类和TimeStamp类的valueOf转换时间Date.valueOf();TimeStamp.valueOf();如果这两种转换直接用在sal语句上,那么最外层要加双引号或单引号的;...2、在数据库插入时间PreparedStatement ps = con.prepar...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,010
精华内容 404
关键字:

数据库插入date类型