向oracle中插入date时,持久层sql怎么写???
public class EmpDao {
public void addEmp(Emp emp) throws SQLException {
QueryRunner runner = new QueryRunner(JdbcUtils.getDataSource());
String sql = "INSERT INTO EMPS(ID,USERNAME,GENDER,SAL,HIREDATE) VALUES(?,?,?,?,?)";
Object[] param = {emp.getId(),emp.getUsername(),emp.getGender(),emp.getSal(),new Timestamp(emp.getHiredate().getTime())};
runner.update(sql, param);
}
public static void main(String[] args) throws SQLException{
EmpDao dao = new EmpDao();
Emp emp = new Emp();
emp.setUsername("张三");
emp.setGender("男");
emp.setSal(100);
emp.setHiredate(new Date());
dao.addEmp(emp);
}
}
以上是dao持久层的代码,我这里用的dbutils和c3p0连接池连接的数据库,遇到的问题就是无法往oracle中插入数据,原因是hiredate的数据类型是Date
解决办法:用new Timestamp(emp.getHiredate().getTime())时间戳就能轻松插入到oracle不用to_date()转换。
****************************** 注意 *********************************
时间戳导包时要导sql的包,我就是因为到错了包导致插入失败找了半天才发现。日期用utils包
import java.sql.Timestamp;
import java.util.Date;
oracle 数据库中用Date类型就行了,我试了试用timestamp 也可以插入,但是值不太对,想摸索自己试试,反正用Date没事!!
create table emps(
....
hiredate Date;
...
)
向oracle中插入date时,持久层sql怎么写???的更多相关文章
- 向Oracle中插入记录时,出现“Oracle.DataAccess.Client.OracleException ORA-00933 ”错误
错误信息的弹出框
- 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...
- java.sql.date与java.util.date区别以及数据库中插入带时分秒的时间
java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类). java.sql.Date是java.util.Da ...
- MyBatis在Oracle中插入数据并返回主键的问题解决
引言: 在MyBatis中,希望在Oracle中插入数据之时,同一时候返回主键值,而非插入的条数... 环境:MyBatis 3.2 , Oracle. Spring 3.2 SQL Snipp ...
- 在MySQL向表中插入中文时,出现:incorrect string value 错误
在MySQL向表中插入中文时,出现:incorrect string value 错误,是由于字符集不支持中文.解决办法是将字符集改为GBK,或UTF-8. 一.修改数据库的默认字符集 ...
- for循环往Oracle中插入n条数据,主键自增
1.主键自增实现方法:http://www.cnblogs.com/Donnnnnn/p/5959871.html 2.for循环往Oracle中插入n条数据 BEGIN .. loop insert ...
- 触发器修改后保存之前的数据 表中插入数据时ID自动增长
create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...
- 在Oracle中更新数据时,抛出:ORA-01008: not all variables bound
在Oracle中更新数据时,抛出了一个 :ORA-01008 not all variables bound, 我的理解是不是所有的变量/参数都有边界,不懂: 后来知道了,原来是“不是所有变量/参数都 ...
- 在oracle中通过链接服务器(dblink)访问sql server
在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一. 工作环境: <1> Oracle数据库版本:Oracle 11g 运行环境 :IB ...
随机推荐
- 通过Java实现斗地主
功能:洗牌,发牌,对玩家手中的牌排序,看牌 package demo06; import java.util.ArrayList; import java.util.Collections; impo ...
- AC日记——青蛙的约会 poj 1061
青蛙的约会 POJ - 1061 思路: 扩展欧几里得: 设青蛙们要跳k步,我们可以得出式子 m*k+a≡n*k+b(mod l) 式子变形得到 m*k+a-n*k-b=t*l (m-n)*k-t ...
- Hibernate search与Lucene包异常学习心得
最近使用了了一下Hibernate Search这个组件 这个组件是对域模型进行全文检索,在全文检索的底层实现上使用了Lucene技术 在进行小测试的时候费了很大的力气去搞定包的问题 我直接通过实例 ...
- (2)WCF客户端调用
一.visual studion引用生成代理 引入服务端发布元数据的地址(并不是服务的地址) 用服务端是控制台程序 例子1 服务端的配置 <system.serviceModel> < ...
- 打包python脚本为exe
更新pip 安装
- UVA 11039 Building designing 贪心
题目链接:UVA - 11039 题意描述:建筑师设计房子有两条要求:第一,每一层楼的大小一定比此层楼以上的房子尺寸要大:第二,用蓝色和红色为建筑染色,每相邻的两层楼不能染同一种颜色.现在给出楼层数量 ...
- Jenkins强制设置语言为中文
解决方法如下: 1.使用中文版的google浏览器,并确定把语言设置成了中文.语言配置在设置页.如下: 2.直接设置jenkins的语言.强制性. 前提:先安装插件:Locale plugin 配置如 ...
- mariadb设置utf8mb4
1 . mysql真正的utf8是utf8mb4才是有效的utf8 a). mariaDB的设置方法 #vim /etc/my.conf [mysqld] character_set_server=u ...
- 【转】.net 经典面试题
[转].net 经典面试题 1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. ...
- GetModuleFileNameA()与GetCurrentDirectoryA()
头文件: #include <windows.h> GetModuleFileNameA() char moduleFileName[MAX_PATH]; GetModuleFileNam ...