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('字 ...
随机推荐
- SQL基础之数据库
1.基础概念 首先要强调一点,就是我们的数据库是由数据库系统来管理的,我们登入数据库并在其上进行操作时最终均要通过数据库系统来完成.可以理解成在数据库上进行操作的是客户端,数据库系统是服务端.一个数据 ...
- ASP.NET Word/Excel 权限问题
在部署Word/Excel到服务器的时候,经常会碰到权限问题.例如; Retrieving the COM class factory for component with CLSID {0002 ...
- 记一次ASP.NET网站的入侵和如何避免被入侵
ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下) 详细介绍请看第二波 首先我要申明的是不是什么语言写出来的程序就不安全,而是得看写代码的人如何去写这个程序 前些日子我去客 ...
- android之自定义广播
布局文件 点击按钮发送广播 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmln ...
- 【python】实践中的总结——列表『持续更新中』
2016-04-03 21:02:50 python list的遍历 list[a::b] #从list[a] 开始,每b个得到一个元组,返回新的list 举个例子: >>> l ...
- eclipse中的常用插件
常用插件整理: http://blog.sina.com.cn/s/blog_60b5e13e0102vz6q.html 插件带有链接 http://blog.csdn.net/kagoy/ar ...
- eclipse的插件安装
如何安装:http://my.oschina.net/linjunlong/blog/126961 插件安装方法:eclipse和myeclipse版本不一样,略有区别 在线安装: 第一种:知道在线安 ...
- Tomcat6查看数据库的数据源信息
打开tomcat6\conf 下的 context.xml
- ssh全屏退出的办法
在使用ssh的时候遇到,不知道碰到哪里了,突然xshell就全屏了 解决方法 按下键盘 Alt+Enter就好了
- java中的hashSet和Treeset的分析
hashset中的元素 treeset中的元素要实现comparable接口