`
woshixushigang
  • 浏览: 576036 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

操作sqlserver timstamp类型

阅读更多

SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的 @@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。

我用口水话解释一下便于理解:

我们知道数字类型有个“标识”属性,设置好“标识种子”、“标识递增量”,每增加一条记录时,这个字段的值就会在最近的一个标识值基础上自动增加,这样我们可以知道哪些记录是先添加的,哪些记录是后添加的,但是我们无法知道哪些记录修改过。timestamp这个类型的字段呢,每增加一条记录时,它会在最近的一个时间戳基础上自动增加,当修改某条记录时,它也会在最近的一个时间戳基础上自动增加,所以我们就知道哪些记录修改过了。

 

如何向SQLServer中的datatime类型字段插入日期数据2011年03月28日 星期五 11:25最近总是因日期类型而困惑,今天发现了其中的原因,拿出来总结一下:

在JAVA中如果通过JDBC访问MSSQL数据库,其实你可以这样向datatime类型字段插入日期数据:

........//连接数据库就不用写了

String sql="insert into datetest values(?,?)";//第一个参数name字段,第二个是datetime类型birthday字段

PreparedStatement ps=con.prepareStatement(sql);

//Timestamp st = new Timestamp(new Date().getTime());//创建Timestamp对象

Timestamp st = new java.sql.Timestamp(new java.util.Date().getTime());//创建Timestamp对象

ps.setString(1, "xushigang");
ps.setTimestamp(2, st);//向数据库插入数据

ps.executeUpdate();

我以前总是用ps.setDate(2,date)方式,结果就是插入不进去。可能是JAVA中date类型与MSSQL数据库中datetime不兼容吧!

你也可以用另种方法向datatime类型字段插入日期数据:

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");

String date=sdf.format(new Date());

此处是连接数据库

ps.setString(2, date)//也能向datatime类型字段插入日期数据

ps.executeUpdate();

在JAVA中如果用Hibernate如何映射datetime类型呢?

在写javabean时用的是java.sql.Timestamp类型,但数据库里用的是Datetime类型(因为要保存时间),但我不想在数据库中用timestamp(很多数据,难改),
请问能直接把Timestamp映射成datetime类型么?

答案是肯定的,在Hibernate的映射配制文件中你可以直接类型指定成timestamp就行了!

 

分享到:
评论

相关推荐

    时间戳Timstamp时间双向转换工具

    这个名为"Timstamp"的压缩包文件很可能包含实现上述转换功能的源代码或应用程序,对于学习时间戳转换的原理和实践具有参考价值。通过阅读和理解这些代码,开发者可以掌握时间戳处理的技巧,并将其应用于自己的项目中...

    Timstamp时间戳转日期时间双向转换工具-下载

    标题提到的"Timstamp时间戳转日期时间双向转换工具"是一个实用的软件工具,它可以帮助用户将时间戳转换为易读的日期和时间格式,反之亦然。这对于开发者来说尤其有用,因为他们经常需要在处理时间数据时进行这种转换...

    phoenixsuit固件盒子刷机

    4. **timstamp.tmm**:可能是一个时间戳文件,用于记录或校验固件文件的日期和版本信息。 5. **lua5.1.dll**:这是一个Lua脚本引擎的动态链接库,PhoenixSuit可能使用Lua语言编写了部分控制逻辑或自动化脚本。 6. ...

    makecert 数字认证 makecert cert2spc signcode

    这里,`-r` 表示自签名,`-pe` 将私钥导出,`-n` 设置证书主体名称,`-sky` 指定密钥类型,`-sv` 保存私钥文件。 2. 使用 `cert2spc` 将证书转换为SPC文件: ``` cert2spc YourCertificate.cer ...

    ActiveX控件签名工具-makecert 、signcode

    这里,`-r`表示自签名,`-pe`将私钥导出,`-n`是证书的名称,`-b`和`-e`是证书的有效期,`-eku`指定用途,`-ss`是存储位置,`-sky`是密钥类型,`-sp`是加密算法,`-sy`是密钥周期。 3. 生成的证书会存储在当前用户...

    Windows软件数字签名makecert.exe,signcode.exe

    步骤3:签名证书,点击按钮“从文件中选择”,打开文件对话框中选择文件类型“X.509证书",即可选择我们创建的cer.cer文件。 步骤4:选择私钥的位置,我们选择创建的pvk.PVK文件,确认后输入密码(test123) 步骤5...

    signtool 签名文件所需文件

    signtool sign /f MyCert.pfx /p YourPassword /t http://timestamp.verisign.com/scripts/timstamp.dll hello.exe ``` 这里,`/t`参数指定了时间戳服务器,以证明签名是在特定时间完成的,即使证书过期,签名...

    数字签名的生成和使用说明

    本文将以SHECA数字签名为例,详细解析数字签名的生成和使用过程,特别是针对代码签名证书的具体操作流程。 ### 数字签名的概念 数字签名是一种基于公钥加密技术的安全机制,用于确认信息的来源及其完整性。通过...

    java实现微信公众号-回复关键字逻辑

    通过httppServletRequest 获取微信服务器发过来的signature,timstamp,notice以及echostr这几个参数。他们分别代表着微信的加密签名,时间戳参数,随机数、以及一个随机字符串。其中签名是和开发者填写的token、...

    AKP签名手册-SignTool

    SignTool的使用涵盖了以下几个核心概念和操作: 1. **数字证书**:签名过程需要一个数字证书,它可以是自签名的,也可以由权威的证书颁发机构(CA)签发。证书包含公钥和私钥,私钥用于签名,公钥用于验证签名。 2. *...

    Activex控件签名工具包

    - http://timestamp.globalsign.com/scripts/timstamp.dll - http://timestamp.comodoca.com/authenticode 1)使用signcode.exe,如下: signcode.exe -t <timestamp URL> -spc mycert.spc -v mykey.pvk ...

    SignTool 数字签名 工具包

    通过理解和熟练使用SignTool,可以提升软件和驱动程序的安全性,增强用户对软件的信任,同时也有助于遵循操作系统对安全性的要求。因此,掌握SignTool的使用对于任何涉及软件发布和管理的个人或团队都至关重要。

    微软代码签名软件(cert2spc.exe CertMgr.Exe makecert.exe pvk2pfx.exe signtool.exe)

    signtool sign /f csp.pfx /p 111111 /t "http://timestamp.verisign.com/scripts/timstamp.dll" csp.dll 此时,右击csp.dll查看属性,增加了菜单, 数字签名。 如果signtool运行时,提示dll缺失(我遇到capicom....

    ActiveX 数字签名工具及步骤

    2. **导出私钥**: 使用`pvk2pfx.exe`或`certutil.exe`将私钥和证书导出为PFX文件,便于后续签名操作。例如: ``` pvk2pfx -pvk mykey.pvk -pi mypassword -spc mycert.spc -pfx mycert.pfx ``` 3. **签名ActiveX...

    数字签名数字证书工具

    Verisign 时间戳URL: http://timestamp.verisign.com/scripts/timstamp.dll Comodo 时间戳URL: http://timestamp.comodoca.com/authenticode GeoTrust/TrustCenter: ...

    tinyev:C ++ 17中的多线程网络库

    定时器依赖于C++11提供的std::chrono库,而不是自己实现Timstamp类,也不用直接调用gettimeofday()。这样写的好处之一是我们不必再为定时器API的时间单位操心[2]: using namespace std::literals::chrono_literals;...

    firebase_image:Fire用于Firebase云存储的缓存Flutter ImageProvider

    除非使用cacheRefreshStrategy: CacheRefreshStrategy.NEVER选项禁用,否则它将从元数据(毫秒精度的整数timstamp)获取对象的上次更新时间,并将其用作实际版本号。 因此,对该远程对象的任何更新将

    ActiveForm电子签名示例

    http://timestamp.verisign.com/scripts/timstamp.dll 要求已经上网并能出国,然后直接下一步就完成了。 4、用chktrust检查是否正确 chktrust -v RecordProj.ocx 就这样,得到了一个测试证书,恩,虽然只是...

    数字签名方法及工具

    数字签名文档 本签名方法 可以运用于exe、 active控件 、dll类库集及cab包进行安全签名,让杀毒软件永远 shut up ...(9) 将时间戳添加到数据在中: http://timestamp.verisign.com/scripts/timstamp.dll (10) 完成

    数字签名制作.rar

    对开发的程序(制作CAB)进行签名,并允许网站中使用 ... (9) 将时间戳添加到数据在中: http://timestamp.verisign.com/scripts/timstamp.dll (10) 完成 5 全部OK了,可以把你的压缩运行文件放到OBJECT里去了:)

Global site tag (gtag.js) - Google Analytics