`
yaodaqing
  • 浏览: 349602 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

jdbc对日期时间字段的插入和查询

    博客分类:
  • JDBC
阅读更多
package com.daqing.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Date;

import com.daqing.jdbc.A0101JdbcUtils;

public class DateTest {

	private static Connection conn = null;
	private static PreparedStatement ps = null;
	private static ResultSet rs = null;
	
	public static void main(String[] args) throws SQLException {
		/**
		 * new Date()表示获取当前时间
		 */
		//create("ydqhaha", new Date(), 501.0f);
		
		Date date = read(13);
		System.out.println(date);
	}
	
	/**
	 * Date型存入到数据库中
	 * @param name
	 * @param birthday
	 * @param money
	 * @throws SQLException
	 */
	public static void create(String name,Date birthday,float money) throws SQLException{
		String sql = "insert into user(name,birthday,money) values(?,?,?)";
		conn = A0101JdbcUtils.getConnection();
		ps = conn.prepareStatement(sql);
		ps.setString(1, name);
		/*
		 * 因为在业务逻辑从用的都是java.util.Date包
		 * java.sql.Date包是从java.util.Date包中继承的,把父类赋给子类是不行的。
		 * 获取java.util.Date中的当前时间
		 */
		ps.setDate(2, new java.sql.Date(birthday.getTime()));
		ps.setFloat(3, money);
		int i = ps.executeUpdate();
		System.out.println(i);
	}
	
	/**
	 * 根据id查询生日,是时间字段的处理方法
	 * @param i
	 * @return
	 * @throws SQLException
	 */
	public static Date read(int i) throws SQLException{
		Date birthday = null;
		String sql = "select * from user where id=?";
		conn = A0101JdbcUtils.getConnection();
		ps = conn.prepareStatement(sql);
		ps.setInt(1, i);
		rs = ps.executeQuery();
		while(rs.next()){
			/**
			 * java.sql.Date子类的Date赋值给父类java.util.Date是可以的
			 * 输出格式为:2010-08-15
			 */
			birthday = rs.getDate("birthday");
			/**
			 * 也可以在这里进行转换,把java.sql.Date转为java.util.Date
			 * 输出格式为Sun Aug 15 00:00:00 CST 2010
			 */
			//birthday = new Date(rs.getDate("birthday").getTime());
		}
		return birthday;
	}
}

分享到:
评论

相关推荐

    JDBC:数据库操作中的日期精度丢失解决办法

    1. 数据库字段类型:不同的数据库系统对日期时间类型的精度支持不同。例如,MySQL的DATETIME类型默认只有秒级别的精度,而Oracle的TIMESTAMP可以达到纳秒级别。 2. JDBC驱动处理:某些JDBC驱动在处理Timestamp对象...

    sharding-jdbc按月分表样例

    例如,主配置类用于设置分片策略,数据访问层(DAO)类则封装了SQL语句,利用Sharding-JDBC的API进行分片查询和插入操作。 2. **配置文件**:可能包含`application.properties`或`application.yml`,用于定义...

    JAVA8时间插入mysql少了8小时的解决办法(csdn)————程序.pdf

    在Java 8中,开发人员经常遇到一个棘手的问题,即在使用MyBatis或任何其他JDBC驱动程序将`LocalDateTime`对象插入MySQL数据库时,时间会比预期少8小时。这个问题通常与时区设置有关,特别是涉及到数据库服务器和Java...

    用JDBC编写新闻页面

    2. 数据库设计和SQL操作,如创建表、插入、查询、更新和删除数据。 3. Java IO流技术,用于读取SQL脚本和可能的数据持久化。 4. 可能结合的动态网页技术,如JSP或Servlet,以实现交互式新闻页面。 通过这个项目,...

    jdbc操作文档,数据库基本操作文档集合

    insert into 表名(表里字段,不加括号表示插入所有字段) values (对应的字段值); 2.查看表记录 select *(或字段名) from 表名; 3.更新记录 update 表名 set 字段名 = 字段值 where 要判断的字段名 = 要判断的字段...

    Java使用JDBC向MySQL数据库批次插入10W条数据(测试效率)

    本文将详细讲解如何使用JDBC批量插入10万条数据,并探讨其背后的原理和优化策略。 批量处理在JDBC中主要通过Statement对象的`addBatch()`和`executeBatch()`两个方法实现。在示例代码中,我们创建了一个`...

    sharding-jdbc按月分表样例2

    这通常在`sharding-config.yaml`或`application.properties`中完成,定义了如何根据日期字段计算出对应的表名。例如,可以设置每个月的订单数据分散在不同的表中,如`order_2022_01`、`order_2022_02`等。 3. **...

    JDBC实现客户关系管理

    在这个项目中,我们使用JDBC(Java Database Connectivity)来实现一个基本的CRM系统,涵盖了CRUD(Create、Read、Update、Delete)操作,同时运用了时间控件、字符截取和分页等技术,以提供更加高效和用户友好的...

    JDBC.rar_MYSQL_MYSQL  数据类型_jdbc_jdbc mysql

    在IT领域,尤其是在数据库编程中,Java Database Connectivity (JDBC) 是一个至关重要的接口...通过学习和实践,开发者可以更好地利用JDBC与MySQL进行数据交互,实现各种复杂的数据库操作,如查询、插入、更新和删除。

    使用JDBC+Oracle完成一个JSP的留言管理程序

    在开发Web应用程序时,我们经常需要与数据库进行交互来存储和检索数据。在这个场景中,我们将探讨如何使用Java JDBC(Java Database ...同时,对用户体验、响应时间和数据安全等方面进行优化,使应用更加完善。

    解决Hibernate对于Date类型的数据返回结果中时分秒不对的问题

    在实体类中,对Date类型字段的注解也可能影响到数据的存储和读取。例如,使用`@Temporal(TemporalType.TIMESTAMP)`可以确保时分秒信息被完整保留。 解决这个问题的方法有以下几种: - **明确日期时间格式**:在...

    jdbcoracle(多国语言支持)

    通过JDBC,开发者可以编写与数据库交互的代码,进行数据查询、插入、更新和删除等操作。而多国语言支持是JDBC功能的一部分,它允许开发者处理不同语言环境下的数据。 二、Oracle数据库的多国语言支持 Oracle数据库...

    3小时学会Mysql and JDBC数据库

    * MySQL 的基本操作:连接数据库、创建数据库、创建表、插入数据、查询数据、更新数据、删除数据等。 * MySQL 的数据类型:整数、浮点数、字符串、日期时间等。 三、JDBC 的基本概念 * JDBC(Java Database ...

    使用jdbc创建和调用触发器实现增删改查

    这个触发器会在`my_table`表中插入新行之前自动更新`last_updated`字段为当前系统日期。 接下来,我们使用JDBC调用存储过程来执行这些操作。在Oracle数据库中,存储过程是预编译的SQL或PL/SQL代码集合,可以通过...

    【Servlet+JDBC项目】EMS员工管理系统

    在这个项目中,JDBC用于连接到数据库,执行SQL语句,比如插入、更新、删除和查询员工记录。通过连接池管理数据库连接,可以提高系统性能并减少资源浪费。 4. 数据库设计:为了存储员工信息,系统会有一个员工表,...

    Java高级教程课件 java数据库教程 JDBC教程 3-oracle查询和SQL函数(共43页).pptx

    这些操作符和函数能够处理更复杂的查询需求,如计算平均值、求和、计数、字符串拼接和日期处理等。 总之,Java数据库教程中涵盖的内容广泛且深入,包括SQL基本语法、高级查询技巧以及Oracle特有的特性,对于理解和...

    3、jsp jdbc 数据库管理器中的操作1

    - `NOW()` 函数用于获取当前日期和时间,可以用于插入或查询。 - `SELECT NOW() FROM dual` 或 `SELECT NOW() FROM your_table` 获取当前时间。 7. **总结**: - 结合上述知识点,可以创建如下的表结构: ```...

    软件开发中日期在数据库的处理

    在Java中,与Oracle数据库交互,可以使用Oracle的JDBC驱动和PreparedStatement,设置日期字段: ```java public void addExpense(Expense expense) { // ... pstmt.setTimestamp(2, new Timestamp(new Date()....

    这里是我的MySql和Jdbc的学习笔记, 要重点整理, 日后作为讲课使用.zip

    数据库内的表由列(字段)和行(记录)组成,每个字段有特定的数据类型,如整型、字符串、日期等。索引用于提高查询效率,常见的有主键索引、唯一索引和普通索引。 JDBC是Java连接数据库的标准,它提供了连接、执行...

Global site tag (gtag.js) - Google Analytics