Oracle库中userinfo表borth字段是Date类型,age年纪字段是int类型。age字段要根据borth来自动计算

先说一下我遇到的问题:

insert into的时候遇到日期转换类型错误

先看一下我的新增用户的实现类:

 public boolean addUser(UserInfo user) {
boolean flag=false;
int userno=this.getMaxUserNo();
//System.out.println(userno);
String sql="insert into userinfo(userno,username,name,password,telphone,sex,borth,role," +
"createdate,createby,age,useraddress)values(?,?,?,?,?," +
"?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?,to_date(?,'yyyy-mm-dd hh24:mi:ss'),?,?,?)";
SimpleDateFormat sdf =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date =new Date();
String createdate = sdf.format(date);
String borth=sdf.format(user.getBorth());
Object[] params={userno+1,user.getUserName(),user.getName(),user.getPassword(),user.getTelphone(),user.getSex(),borth,
user.getRole(),createdate,user.getCreateBy(),user.getAge(),user.getUseraddress()};
for (Object object : params) {
System.out.println(object.toString());
}
System.out.println("addsql=================>"+sql);
if(this.getConnection()){
int update = this.executeUpdate(sql, params);
System.out.println("addsql2222222222=================>"+sql);
if(update>0){
System.out.println("新增成功!");
flag=true;
}
}
this.closeConnection();
return flag;
}

注意红色部分:

这是因为我的实体类userinfo.java中定义的数据库这个borth变量是Date类型的

我把user取到的borth的值转换为字符串,因为sql执行的时候to_date里的占位符?要是字符串,所以我上面直接用

sdf.format(user.getBorth());转了。

2、有一个age字段是要自动通过borth和当前年份进行运算得到年龄大小,我写了一个工具类,到时候servlet直接调用即可
工具类:
 package pb.market.com.cn.util;

 import java.text.SimpleDateFormat;
import java.util.Date; public class GetAge {
public int getage(String borth){ SimpleDateFormat sdf =new SimpleDateFormat("yyyy");
//获取当前年
String date =sdf.format(new Date());
int day=Integer.parseInt(date);
//获取出生日期的年份
int bor = Integer.parseInt(borth.substring(0,4));
int age=day-bor;
return age; }
}

servlet调用

总结:中间遇到不少问题,得细心!

JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理的更多相关文章

  1. Struts与jsp+javabean+servlet区别

    采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...

  2. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...

  3. JSP+JavaBean+Servlet工作原理实例…

    JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...

  4. 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)

    转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...

  5. java web中日期Date类型在页面中格式化显示的三种方式

    一般我们经常需要在将服务器端的Date类型,传到页面进行显示,这就涉及到一个如何格式化显示Date类型的问题,一般我们有三种方式进行: 1)在服务端使用SimpleDateFormat等类格式化成字符 ...

  6. 向mysql中插入Date类型的数据

    先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...

  7. 【java】jackson 中JsonFormat date类型字段的使用

    为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM- ...

  8. SQL查询数据库中所有指定类型的字段名称和所在的表名

    --查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , co ...

  9. 向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))

    需要指出的是,C#中有datetime类型,但是这个类型是包括小时,分钟,秒的.这个格式与数据库中的Date类型不符,如果将now设为datetime类型插入数据会失败. 需要通过TO_DATE('字 ...

随机推荐

  1. Qt学习笔记常用容器

    主要说Qt的以下几种容器 1.QList<T> 2.QLinkedList<T> 3.Map<T> 和一些常用的容器方法的使用 qSort qCopy qFind ...

  2. lecture10-模型的结合与全贝叶斯学习

    这是Hinton的第10课 这节课有两篇论文可以作为背景或者课外读物<Adaptive mixtures of local experts>和<Improving neural ne ...

  3. Python2.6-原理之类和oop(下)

    来自<python学习手册第四版>第六部分 五.运算符重载(29章) 这部分深入介绍更多的细节并看一些常用的重载方法,虽然不会展示每种可用的运算符重载方法,但是这里给出的代码也足够覆盖py ...

  4. .Net Core 自定义序列化格式

    序列化对大家来说应该都不陌生,特别是现在大量使用WEBAPI,JSON满天飞,序列化操作应该经常出现在我们的代码上. 而我们最常用的序列化工具应该就是Newtonsoft.Json,当然你用其它工具类 ...

  5. js如何判断一个数组

    typeof [] 为一个"object" 不能通过此方法判断一个数组 方法 1.instanceof方法,这个方法用的比较多. 2.这个是es5以后推荐的方法,Object.pr ...

  6. 获取 AlertDialog自定义的布局 的控件

    AlertDialog自定义的布局 效果图: 创建dialog方法的代码如下: 1 LayoutInflater inflater = getLayoutInflater(); 2 View layo ...

  7. SpringMVC学习--拦截器

    简介 Spring Web MVC 的处理器拦截器类似于Servlet 开发中的过滤器Filter,用于对处理器进行预处理和后处理. 拦截器定义 定义拦截器,实现HandlerInterceptor接 ...

  8. 如何使用国内源部署Ceph?

    由于网络方面的原因,Ceph的部署经常受到干扰,通常为了加速部署,基本上大家都是将Ceph的源同步到本地进行安装.根据Ceph中国社区的统计,当前已经有国内的网站定期将Ceph安装源同步,极大的方便了 ...

  9. Linux System and Performance Monitoring

    写在前面:本文是对OSCon09的<Linux System and Performance Monitoring>一文的学习笔记,主要内容是总结了其中的要点,以及加上了笔者自己的一些理解 ...

  10. [转]理解RESTful架构

    原文地址:http://www.ruanyifeng.com/blog/2011/09/restful 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软件" ...