JSP+JavaBean+Servlet+Oracle新增功能中对Date类型的字段的处理
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类型的字段的处理的更多相关文章
- Struts与jsp+javabean+servlet区别
采用Struts框架技术和直接使用jsp+javabean技术开发各有什么优势?各自的缺点又是什么? 在Javaweb开发领域存在2种开发模式, 模式一,jsp+javabean 模式二,jsp+ja ...
- JSP+JavaBean+Servlet技术(MVC模型)
一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...
- JSP+JavaBean+Servlet工作原理实例…
JSP+JavaBean+Servlet工作原理实例讲解 首先,JavaBean和Servlet虽都是Java程序,但是是完全不同的两个概念.引用mz3226960提出的MVC的概念,即M-model ...
- 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...
- java web中日期Date类型在页面中格式化显示的三种方式
一般我们经常需要在将服务器端的Date类型,传到页面进行显示,这就涉及到一个如何格式化显示Date类型的问题,一般我们有三种方式进行: 1)在服务端使用SimpleDateFormat等类格式化成字符 ...
- 向mysql中插入Date类型的数据
先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...
- 【java】jackson 中JsonFormat date类型字段的使用
为了便于date类型字段的序列化和反序列化,需要在数据结构的date类型的字段上用JsonFormat注解进行注解具体格式如下 @JsonFormat(pattern = "yyyy-MM- ...
- SQL查询数据库中所有指定类型的字段名称和所在的表名
--查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , co ...
- 向数据库中插入一个DateTime类型的数据到一个Date类型的字段中,需要转换类型。TO_DATE('{0}','YYYY-MM-DD'))
需要指出的是,C#中有datetime类型,但是这个类型是包括小时,分钟,秒的.这个格式与数据库中的Date类型不符,如果将now设为datetime类型插入数据会失败. 需要通过TO_DATE('字 ...
随机推荐
- 用linqPad帮助你快速学习LINQ
在这里我向大家推荐的一个具是LinqPad有了这个工具并熟练使用就可以很快学习并掌握linq linqPad下载地址:http://www.linqpad.net/ 它也自带了很多例子方便大家查询,l ...
- Dll的显式和隐式调用
建立项目,请选择Win32 控制台项目(Win32 Console Application),选择DLL和空项目选项.DLLs可能并不如你想像的那样难.首先写你的头文件(header file):称为 ...
- ElasticSearch入门系列(四)分布式初探
序言:ElasticSearch致力于隐藏分布式系统的复杂性,以下的操作都是在底层自动完成的: 将你的文档分区到不同的容器或者分片(shards),他们可以存在于一个或多个节点中 将分片均匀的分配到各 ...
- .net MVC全球化资源使用心得
网上有的我就不说了,我只记录下我碰壁的事情. local资源就不说,这里只说global全局资源文件. 假设新建一个资源文件名称叫做resourceA, 下面几点记录备忘: resouceA就是Get ...
- Hibernate用注解实现实体类和表的映射
数据库mysql: 1.一对一 person50表password50表是一对一的关系: password50表中有外键 person_id person实体类: package com.c50.en ...
- AngularJS 日期转换字符串
日期转换成字符串的办法有很多种,其中最简单的方法是 使用AngularJS的filter来实现. $filter('date')(date, 'yyyyMM'): $filter('date')(da ...
- SQL SERVER 2008向ORACLE 11G迁移示例
来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL ...
- jQuery基础--样式篇(5)
jQuery的属性与样式 (1).attr()与.removeAttr():每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息. attr()有4个表达式 attr(传入 ...
- TCP/UDP,SOCKET网络通信,C++/Java实现
趁这两天没事干,就把网络通信这一块搞一搞,C/S方面的了解一下,很重要! TCP Server/Client
- mycat 9066管理端口 常用命令
1.连接mycat 9066管理端口 命令:mysql -uroot -proot -P9066 -h127.0.0.1 -u:用户名 -p:密码 -P:端口 -h:ip地址例:linux路径切换到m ...