`
yaCHAO822
  • 浏览: 1801 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

CONNECTION

 
阅读更多
package com.briup.test;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.briup.common.ConnectionFactory;

public class PreparedStatementTest {

private Connection conn;
private PreparedStatement ps;
private ResultSet rs;
private Statement stmt;

public void insertListForPs(List<Person> list){
try {
conn = ConnectionFactory.getConnection();
String sql = "insert into person(id,name,age) values(?,?,?)";
ps = conn.prepareStatement(sql);
//设置自动提交为false
conn.setAutoCommit(false);
int i = 0;
for(Person p:list){
i++;
ps.setLong(1, p.getId());
ps.setString(2, p.getName());
ps.setInt(3, p.getAge());
//把数据添加到批处理中
ps.addBatch();
if(i==100){//30条一次批处理
//统一处理这个批处理 
ps.executeBatch();
i=0;
}
}
ps.executeBatch();
conn.commit();

} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ConnectionFactory.close(ps, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void stmtForDate(){
try {
conn = ConnectionFactory.getConnection();
stmt = conn.createStatement();
java.util.Date date = new Date();


// String sql = "insert into student(myday) values('23-8月-13')";
String sql = "insert into student(myday) values(to_date('12-02-13','dd-mm-yy'))";
System.out.println(sql);
stmt.execute(sql);
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ConnectionFactory.close(stmt, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void psForDate(){
try {
conn = ConnectionFactory.getConnection();
String sql = "insert into student(myday) values(?)";

ps = conn.prepareStatement(sql);
java.util.Date d1 = new java.util.Date();
long time = d1.getTime();
java.sql.Date d2 = new java.sql.Date(time);
java.sql.Timestamp timestamp = new Timestamp(time);
ps.setDate(1, d2);
// ps.setTimestamp(1, timestamp);
ps.execute();
} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ConnectionFactory.close(ps, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public void insertListForStms(List<Person> list){

try {
conn = ConnectionFactory.getConnection();
stmt = conn.createStatement();
String sql = "";

for(Person p:list){
long id = p.getId();
String name = p.getName();
int age = p.getAge();
sql = "insert into person(id,name,age) values("+id+",'"+name+"',"+age+")";
stmt.execute(sql);
}


} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ConnectionFactory.close(stmt, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}

public void insert(Person p){
try {
conn = ConnectionFactory.getConnection();
String sql = "insert into person(id,name,age) values(?,?,?)";
ps = conn.prepareStatement(sql);

//用值把sql语句中的?替换掉
ps.setLong(1, p.getId());
ps.setString(2, p.getName());
ps.setInt(3, p.getAge());
ps.execute();//这时候一定不要把sql语句放进去 错的:ps.execute(sql);

} catch (Exception e) {
e.printStackTrace();
}finally{
try {
ConnectionFactory.close(ps, conn);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
PreparedStatementTest pst = new PreparedStatementTest();

// List<Person> list = new ArrayList<Person>();
// Person p = null;
// for(int i=1;i<2001;i++){
// p=new Person(i,"tom",20);
// list.add(p);
// }
// long start = System.currentTimeMillis();
//// pst.insertListForStms(list);438
// pst.insertListForPs(list);
// long end = System.currentTimeMillis();
// System.out.println(end-start);
// pst.psForDate();
pst.stmtForDate();

}
}




package com.briup.common;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

public class ConnectionFactory {
private static String driver ;
private static String url ;
private static String username ;
private static String password ;

static{
try {
Properties p = new Properties();
// p.load(new FileInputStream(new File("src/com/briup/common/oracle.properties")));
// p.load(ConnectionFactory.class.getResourceAsStream("oracle.properties"));
p.load(ConnectionFactory.class.getClassLoader().getResourceAsStream("com/briup/common/oracle.properties"));
driver = p.getProperty("driver");
url = p.getProperty("url");
username = p.getProperty("username");
password = p.getProperty("password");
// System.out.println(url);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Connection getConnection() throws Exception{
Class.forName(driver);
Connection conn = DriverManager.getConnection(url,username,password);
return conn;
}
public static void close(ResultSet rs,Statement stmt,Connection conn) throws Exception{
if(rs!=null)rs.close();
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();
}
public static void close(Statement stmt,Connection conn) throws Exception{
close(null,stmt,conn);
}
// public static void main(String[] args) {
//
// }
}



分享到:
评论

相关推荐

    connection 和 preparedstatement 的关闭问题

    ### Connection 和 PreparedStatement 的关闭问题 在Java编程语言中,处理数据库连接及执行SQL语句时,合理地管理和释放资源是非常重要的。本文将详细介绍`Connection`和`PreparedStatement`的使用时机与关闭策略,...

    adodb Connection对象简介

    ADODB Connection 对象简介 ADODB Connection 对象是 ActiveX Data Objects(ADO)中最基本的对象之一,它提供了连接数据库、执行 SQL 语句、处理结果集等功能。下面是关于 ADODB Connection 对象的详细介绍。 ...

    Series Skylight Connection Manager&Sierra; Wireless Aircard watcher

    Series Skylight Connection Manager和Sierra Wireless Aircard Watcher是两个与无线通信设备管理相关的软件工具,主要用于管理和监控Sierra Wireless公司的Aircard系列移动宽带调制解调器。这两个软件在功能上可能...

    connection对象的execute方法

    ### Connection对象的Execute方法 在数据库编程中,`Connection`对象是与数据库建立连接的关键组件。通过`Connection`对象,可以执行SQL语句、存储过程等操作,从而实现对数据库的读写。其中,`execute`方法是`...

    jdbc-mysql-connection

    标题中的"jdbc-mysql-connection"关键词表明我们讨论的主题是关于Java数据库连接(JDBC)与MySQL数据库之间的交互。JDBC是Java平台上的一个标准接口,它允许Java应用程序与各种类型的数据库进行通信,包括MySQL。...

    Connection

    根据给定的文件信息,我们可以总结出以下关于SQL数据库连接(Connection)的相关知识点: ### SQL数据库连接(Connection)概述 在Java中,`Connection`对象是JDBC API的核心组件之一,用于与数据库建立连接。它是...

    Software caused connection abort: recv failed

    标题:“Software caused connection abort: recv failed” 描述:“Software caused connection abort: recv failed” 知识点解析: ### 背景介绍 “Software caused connection abort: recv failed”这一错误...

    openfire的connection_manager

    "connection_manager"是Openfire中的一个重要组件,它的主要职责是管理客户端与服务器之间的连接。 在Openfire的架构中,`connection_manager`扮演着关键角色,它负责优化和维护客户端的连接状态。XMPP协议允许...

    在Lotus Connection2.01上配置在线感知功能

    在Lotus Connection 2.01上配置在线感知功能,是为了实现与Lotus Sametime的无缝集成,使得用户在登录Sametime的同时,其在线状态能够被Connection捕获和显示。这样,用户可以在Connection环境中实时了解到其他联系...

    Cisco Unity Connection 用户指南

    根据给定的文件信息,可以提炼出以下关于Cisco Unity Connection的IT知识点: 1. Cisco Unity Connection简介:Cisco Unity Connection是思科公司提供的一种统一通信解决方案,它集成了呼叫处理、语音邮件和个人...

    Intel(R) Ethernet Connection X722 for 1GbE.zip

    【Intel(R) Ethernet Connection X722 for 1GbE】是英特尔公司为1千兆以太网(1GbE)设计的一款网卡驱动程序,主要用于联想服务器产品。这款驱动程序专为Intel的X722芯片组设计,旨在提供稳定、高效的网络连接性能,...

    QMI拨号工具 ConnectionManager.rar

    QMI拨号工具ConnectionManager是一款专门用于通过QMI(Quality Management Interface)接口进行网络连接管理的应用程序。在深入了解这个工具之前,我们先来认识一下QMI协议和它在网络通信中的作用。 QMI是高通公司...

    MySQL远程连接丢失问题解决方法(Lost connection to MySQL server)

    代码如下:Lost connection to MySQL server at ‘reading initial communication packet’, system error: 0 很明显这是连接初始化阶段就丢失了连接的错误。 google半天大多是说的注释掉配置文件中 bind-address = ...

    ConnectionPool数据库连接池例子.doc

    数据库连接池ConnectionPool的实现和配置 数据库连接池(Database Connection Pool)是一种提高数据库访问效率的技术,通过重用已经创建的数据库连接来减少创建新连接的开销。下面是一个使用Java语言实现的数据库...

    java.net.SocketException Connection reset 解决方法

    "java.net.SocketException Connection reset 解决方法" 在 Java 编程中,SocketException 是一种常见的异常,特别是在网络编程中。Conexion reset by peer 是一种特殊的 SocketException,它发生在客户端和服务器...

    mount.nfs: Connection timed out

    mount.nfs: Connection timed out

    其中的ADODB.Connection中的连接字符串怎么写

    ADODB.Connection对象是ADODB库的核心部分,它负责建立与数据源的连接。在使用ADODB.Connection时,正确构造连接字符串是至关重要的一步,这将决定着应用程序能否成功地与数据库建立通信。 ### 连接字符串详解 ...

    connection_reset.rar

    解决oracle数据库发生'Connection reset by peer' or 'Connection reset'的错误 这边的数据库连接是kettle自带的h2数据库,只要有kettle就有这个数据库,目录位于data-integration\samples\db\,连接方式是 ...

    ConnectionServer.rar

    《Delphi技术在ConnectionServer中的应用详解》 在IT领域,Delphi是一种广泛使用的集成开发环境(IDE),它以其高效、简洁的编程语法和强大的Windows应用程序开发能力而闻名。本篇文章将深入探讨“ConnectionServer...

Global site tag (gtag.js) - Google Analytics