java通过jdbc连接数据库并更新数据(包括java.util.Date类型数据的更新)
一、步骤
1.获取Date实例,并通过getTime()方法获得毫秒数;
2.将获取的毫秒数存储到数据库中,注意存储类型为nvarchar(20);
3.读取数据库的毫秒数,作为Date构造方法的参数创建实例,有需要再转换时间格式。
二、代码示例
- package com.yh.dao;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import com.yh.util.ConfigManager;
- public class NewsDao {
- public static void main(String[] args) {
- NewsDao nd = new NewsDao();
- nd.addData(005, "洪旭", 21, new Date().getTime());
- nd.getData();
- }
- // 查询数据
- public void getData() {
- Connection con = null;
- ConfigManager configManager = ConfigManager.getInstance();
- String url = configManager.getString("jdbc.connection.url");
- String username = configManager.getString("jdbc.connection.username");
- String password = configManager.getString("jdbc.connection.password");
- String driver = configManager.getString("jdbc.SQLServerDriver.class");
- try {
- // 加载驱动
- Class.forName(driver);
- // 获得数据库连接
- con = DriverManager.getConnection(url, username, password);
- // 执行sql语句
- String sql = "select * from student";
- Statement statement = con.createStatement();
- ResultSet rs = statement.executeQuery(sql);
- while (rs.next()) {
- int id = rs.getInt(1);
- String name = rs.getString(2);
- int age = rs.getInt(3);
- long createDate = rs.getLong(4);
- Date date = new Date(createDate);
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- System.out.println(id + "\t" + name + "\t" + age + "\t" + sdf.format(date));
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- try {
- con.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- // 插入数据
- public void addData(int id, String name, int age, long createDate) {
- Connection con = null;
- ConfigManager configManager = ConfigManager.getInstance();
- String url = configManager.getString("jdbc.connection.url");
- String username = configManager.getString("jdbc.connection.username");
- String password = configManager.getString("jdbc.connection.password");
- String driver = configManager.getString("jdbc.SQLServerDriver.class");
- try {
- // 加载驱动
- Class.forName(driver);
- // 获得数据库连接
- con = DriverManager.getConnection(url, username, password);
- // 执行sql语句
- String sql = "insert into student (id,name,age,createDate)values(?,?,?,?)";
- PreparedStatement ps = con.prepareStatement(sql);
- ps.setInt(1, id);
- ps.setString(2, name);
- ps.setInt(3, age);
- ps.setLong(4, createDate);
- int line = ps.executeUpdate();
- System.out.println("影响行数:" + line);
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally {
- try {
- // 释放资源
ps.close();- con.close();
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
三、Statement和PreparedStatement的比较
1.Statement由Connection类的createStatement()方法创建,用于发送相对简单,参数较少的sql语句;
2.PreparedStatement由Connection类的preparedStatement()方法创建,用于发送参数较多的sql语句;
3.sql语句使用 " ? " 作为数据占位符,使用set***(int index, 值)方法设置数据。
java通过jdbc连接数据库并更新数据(包括java.util.Date类型数据的更新)的更多相关文章
- Java开发JDBC连接数据库
Java开发JDBC连接数据库 创建一个以JDBC连接数据库的程序,包含6个步骤: JDBC五部曲1.加载驱动2.获得链接3.获取statement对象 4.执行SQL语句5.产生resultset对 ...
- 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...
- JDBC MySQL字段类型为datetime的数据取出(util.Date)
使用ResultSet的getTimestamp方法获取java.util.Date型数据 java.util.Date time = rs.getTimestamp("time" ...
- java中,字符串类型的时间数据怎样转换成date类型。
将字符串类型的时间转换成date类型可以使用SimpleDateFormat来转换,具体方法如下:1.定义一个字符串类型的时间:2.创建一个SimpleDateFormat对象并设置格式:3.最后使用 ...
- 【Spring】SpringMVC中浅析Date类型数据的传递
在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...
- SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用
使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...
- DATE类型数据在MySql中减一天的问题
最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...
- java开发JDBC连接数据库详解
JDBC连接数据库 好文一定要让大家看见 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机) ...
- Java中JDBC连接数据库代码和步骤详解总结
JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Jav ...
随机推荐
- ubuntu install redis
ubuntu install redis apt-get update apt-get install redis-server redis-server --daemonize yes
- VMware Workstation 无法连接到虚拟机。请确保您有权运行该程序、访问该程序使用的所有目录以及访问所有临时文件目录。 VMware Authorization Service 当前未运行
VMware Workstation 无法连接到虚拟机.请确保您有权运行该程序.访问该程序使用的所有目录以及访问所有临时文件目录. VMware Authorization Service 当前未运行 ...
- SpringCloud升级之路2020.0.x版-34.验证重试配置正确性(1)
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 在前面一节,我们利用 resilience4j 粘合了 OpenFeign 实现了断路器. ...
- Part 16 ng include directive in AngularJS
ng-include directive is used to embed an HTML page into another HTML page. This technique is extreme ...
- Django笔记&教程 0-1 前言
Django 自学笔记兼学习教程第0章第1节--前言 点击查看教程总目录 1 最初的想法 自学Django已经有一段时间了,自认收获不少,学的还算可以,然而实际去做项目写代码的时候,很多用法记得不清, ...
- 大爽Python入门教程 2-1 认识容器
大爽Python入门公开课教案 点击查看教程总目录 1 什么是容器 先思考这样一个场景: 有五个学生,姓名分别为: Alan, Bruce, Carlos, David, Emma. 需要给他们都打一 ...
- 那一天,我被Redis主从架构支配的恐惧
面试官:要不你来讲讲你最近在看的点呗?可以拉出来一起讨论下(今天我也不知道要问什么) 候选者:最近在看「Redis」相关的内容 面试官:嗯,我记得已经问过Redis的基础和持久化了 面试官:要不你来讲 ...
- Spring Boot核心注解
(1)@SpringBootApplication 代表SpringBoot的启动类 (2)@SpringBootConfiguration 通过bean对象来获取配置信息 (3)@Configura ...
- MS17-010漏洞利用
MS17-010漏洞利用 1.安装虚拟机win7 x64,实现利用ms17-010实现对其win7 x64主机开始渗透,查看该主机信息,打开远程桌面,抓取用户名和密码并破译,创建一个 : 学号.txt ...
- 【R】一对一变为一对多:将列折叠/连接/聚合为每个组(一行)内的字符串?
目录 需求 实现 方法一 其他方法 data.table dplyr aggregate sqldf 延申:不用逗号分隔 需求 原始文件: data <- data.frame(A = c(re ...