java date类型 怎么 插入 时间 到 数据库

java date类型 怎么 插入 时间 到 数据库,第1张

JDBC环境下

如果使用的是PreparedStatement接口:

1String sql = "insert into 表名(date类型的列) values()";

2PreparedStatement stmt = conprepareStatement(sql);

3stmtsetDate(1, date对象);

4stmtexecuteUpdate();

如果使用的是Statement接口:

1javatextSimpleDateFormat fmt1 = new javatextSimpleDateFormat("yyyy-MM-dd");  // mssql、mysql格式

2javatextSimpleDateFormat fmt2 = new javatextSimpleDateFormat("dd-MM月-yyyy");  // oracle格式

3String sql = Stringformat("insert into 表名(date类型的列) values('%s')", fmt1format(date对象));

4Statement stmt = concreateStatement();

5stmtexecuteUpdate(sql);

1:SystemcurrentTimeMillis() 返回long类型 可以强制转换成Date格式

2:SimpleDateFormatformat()返回的是 String类型,可以得到我上述的时间格式,但是是String类型。

3:SimpleDateFormatparse()返回的是Date类型,该方法试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串,试过后发现,解析后的值是“格林威治时间格式“,即我当初设想的思路应该不能实现,转而改变策略,以任意格式把时间变成Date格式插入数据库中,提取的时候再做变换即可。

4:查询中发现javautilDate 和 javasqlDate存在一些区别,utildate用Date date = new Date(),util可以活动值,sql包必须给参数。

1提取单条记录

//import javasql;

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

try {

ClassforName("sunjdbcodbcJdbcOdbcDriver");

String url="jdbc:odbc:%%1";

con=DriverManagergetConnection(url,%%2,%%3);

stmt=conncreateStatement();

stmtexecuteUpdate(%%4);

rs=stmtexecuteQuery(%%5);

}catch(Exception e){

eprintStackTrace();

}

finally{

try {

if(rs!=null)

rsclose();

if(stmt!=null)

stmtclose();

if(conn!=null)

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

3显示表格

/

import javaawt;

import javaxswing;

import javasql;

import javaxswingtable;

/

String[] colHeads=%%4;

Connection conn=null;

Statement stmt=null;

ResultSet rs=null;

try {

ClassforName("sunjdbcodbcJdbcOdbcDriver");

String url="jdbc:odbc:%%1";

conn=DriverManagergetConnection(url,%%2,%%3);

stmt=conncreateStatement();

rs=stmtexecuteQuery("SELECT count() as au_count from "+%%5);

rsnext();

int iCount=rsgetInt("au_count");

Object[][] data=new Object[iCount][];

int i=0;

rs=stmtexecuteQuery("SELECT from "+%%5);

while(rsnext()){

data[i]=new Object[iCount];

data[i][0]=rsgetString("au_fname");

data[i][1]=rsgetString("Phone");

data[i][2]=rsgetString("City");

i++;

}

JTable table=new JTable(data,colHeads);

JScrollPane jsp=new JScrollPane(table);

getContentPane()add(jsp);

}catch(Exception e){

eprintStackTrace();

}

finally{

try {

if(rs!=null)

rsclose();

if(stmt!=null)

stmtclose();

if(conn!=null)

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

6关闭时关闭连接

//import javasql;

addWindowListener(new WindowAdapter{

public void windowClosing(WindowEvent wevent){

if(stmt!=null){

try {

if(rs!=null)

rsclose();

if(stmt!=null)

stmtclose();

if(conn!=null)

connclose();

} catch (SQLException e) {

eprintStackTrace();

}

}

7执行命令

//import javasql;

Connection conn=null;

PreparedStatement pst=null;

try {

conn=DriverManagergetConnection(url);

pst=connprepareStatement("Insert Into grade(%%1) Values ()");

pstsetInt(1,%%2);

//pstsetString(2,%%2);

pstaddBatch();

pstexecuteBatch();

} catch (SQLException e){

eprintStackTrace();

}

finally{

try {

if (pst != null)

pstclose();

if (conn != null)

connclose();

} catch (SQLException e) {

// TODO Auto-generated catch block

eprintStackTrace();

}

}

传统拼接insert

into

table()

values(),(),()这种方式实现批量插入

采用数据库持久化框架,比如hibernate,根据插入的记录数,设定每多少次循环执行一次commit *** 作

就要链接数据库,可以通过JDBC链接。

首先,在连接数据库之前必须保证SQL Server 2012是采用SQL Server身份验证方式而不是windows身份验证方式,开始如下配置:

一、因为SQL Server 2012装好后,默认协议是没有开启的,所以要打开SQL Server配置管理器中开启。

1、安装好SQL Server 2012后,运行 开始 → 所有程序 → Microsoft SQL Server 2012 → 配置工具 →SQL Server配置管理器

2、在左边栏找到 SQL Server网络配置选项,点开它的小箭头,会看到“你的数据库名的协议” (图中是ERIC2012的协议),选中它,看右边栏。

(1)如果Named Pipes 未启用,则右键→启用

(2)右键单击 TCP/IP,选择 启用

(3)双击TCP/IP(右键→属性),在d出的窗口中选择 “IP地址” 选项卡,将IP1和IP10的IP地址设为127001,并将所有IPx的已启用设为是。接着,拖动下拉条到最下方,将 IPAll 中的TCP端口设成 1433,其余不变。

3、重新启动计算机。

4、接下来使用telnet命令测试1433端口是否打开。首先要保证telnet服务开启。

5、完成上一步后。开始菜单 → 运行cmd → 输入:telnet 127001 1433,(注意telnet与127之间有空格,1与1433之间有空格)。

6、若提示“不能打开到主机的连接,在端口 1433: 连接失败”,则说明1433端口没有打开,需要重新进行以上配置。

(1)传统方式

持久化数据库对象 —— 表 如:Hibernate等;

//保存一个数据库对象

public boolean saveEntity(Object entity) {

try {

getHibernateTemplate()save(entity);

return true;

} catch (Exception e) {

eprintStackTrace();

}

return false;

}

(2) 直接SQL语句插入

如:insert into

import javaawt;

import javaawtevent;

public class Test1 extends WindowAdapter implements ActionListener{

TextField t1,t2;

Button b1,b2;

Frame f;

Label l1,l2;

void init(){

f=new Frame("注册窗口");

l1=new Label("用户名",LabelCENTER);

l2=new Label("密码",LabelCENTER);

t1=new TextField(11);

t2=new TextField(11);

b1=new Button("注册");

b2=new Button("取消");

fsetLayout(new FlowLayout());//流式布局管理

fadd(l1);

fadd(t1);

fadd(l2);

fadd(t2);

fadd(b1);

fadd(b2);

fsetVisible(true);

fpack();

t2setEchoChar('');

t1addActionListener(this);

t2addActionListener(this);

faddWindowListener(this);

b1addActionListener(this);

b2addActionListener(this);

fsetLocation(300,300);

fsetResizable(false);

fsetBackground(ColorBLUE);

l1setBackground(ColorYELLOW);

l1setForeground(ColorRED);

}

public void windowClosing(WindowEvent e){

Systemexit(0);

}

public void actionPerformed(ActionEvent e){

if(egetSource()==b1){

String u1=t1getText();

String p1=t2getText();

myDb mydb=new myDb();

mydbconnection("sunjdbcodbcJdbcOdbcDriver","jdbc:odbc:myDb");

String sql="insert into user(username,password) values ('"+u1+"','"+p1+"');";

mydbupdate(sql);

}

else if(egetSource()==b2)

{

t1setText("");

t2setText("");

}

}

public static void main(String[] args) {

new Test1()init();

}

}

以上就是关于java date类型 怎么 插入 时间 到 数据库全部的内容,包括:java date类型 怎么 插入 时间 到 数据库、如何用Java向数据库中添加数据、java如何快速将数据插入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9610424.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存