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如何快速将数据插入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)