JDBC直接访问mysql数据库例子

import com.mysql.jdbc.Driver;

import java.sql.Connection;

import java.sql.Statement;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.ResultSetMetaData;

import java.io.*;

import java.sql.*;

public class Database {

private Connection connection = null;

public boolean Init( String url, String userName, String password) throws Exception

{

Class.forName("com.mysql.jdbc.Driver").newInstance();

connection = DriverManager.getConnection(url, userName, password);

return true;

}

public void Test() throws Exception

{

Statement st = connection.createStatement();

//Insert

//st.execute("Insert into setup values ( '13', '22') ");

//Test Blob field

//Write Test

File file1 = new File("Database.java");

int len1 = (int) file1.length();

InputStream fis1 = new java.io.FileInputStream(file1);

PreparedStatement ps = connection.prepareStatement("INSERT INTO setup VALUES (?, ?,?)");

ps.setString(1, "250");

ps.setString(2, "250ddd");

ps.setAsciiStream(3, fis1, len1);

ps.execute();

ResultSet r = st.executeQuery("select * from setup");

if( r!= null )

{

ResultSetMetaData m = r.getMetaData();

while( r.next())

{

for( int i = 1; i<= m.getColumnCount(); i++ )

{

System.out.println( m.getColumnLabel(i) + "=" + r.getObject(i).toString() );

}

java.sql.Blob ablob = r.getBlob(3);

System.out.println( r.getString(1) + " " + r.getString(2) + " " + ablob.length());

InputStream bis = ablob.getBinaryStream() ;

OutputStream os = new FileOutputStream("test.java");

int b = bis.read();

while (b != -1 ) {

System.out.print((char)b);

os.write((char)b);

b = bis.read();

}

os.flush();

os.close();

bis.close();

}

}

else

{

System.out.println("The table is empty.");

}

//Read Test

}

public static void main( String []args)

{

Database db = new Database();

try

{

db.Init("jdbc:mysql://localhost:3306/jivejdon?useUnicode=true&characterEncoding=gbk", "root", "root");

db.Test();

}

catch ( Exception e )

{

e.printStackTrace();

}

}

}

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9402971/viewspace-1021556/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9402971/viewspace-1021556/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值