java几种数据库连接

Java的各种数据库连接代码

1、Oracle8/8i/9i数据库(thin模式)

Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();

String url="jdbc:oracle:thin:@localhost:1521:orcl"; //orcl为数据库的SID

String user="test";

String password="test";

Connection conn= DriverManager.getConnection(url,user,password);

2、DB2数据库

Class.forName("com.ibm.db2.jdbc.app.DB2Driver ").newInstance();

String url="jdbc:db2://localhost:5000/sample"; //sample为你的数据库名

String user="admin";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

3、SQL Server7.0/2000数据库

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();

String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb";

//mydb为数据库

String user="sa";

String password="";

Connection conn= DriverManager.getConnection(url,user,password);

4、Sybase数据库

Class.forName("com.sybase.jdbc.SybDriver").newInstance();

String url =" jdbc:sybase:Tds:localhost:5007/myDB";//myDB为你的数据库名

Properties sysProps = System.getProperties();

SysProps.put("user","userid");

SysProps.put("password","user_password");

Connection conn= DriverManager.getConnection(url, SysProps);

5、Informix数据库

Class.forName("com.informix.jdbc.IfxDriver").newInstance();

String url = "jdbc:informix-sqli://123.45.67.89:1533/myDB:INFORMIXSERVER=myserver;

user=testuser;password=testpassword"; //myDB为数据库名

Connection conn= DriverManager.getConnection(url);

6、MySQL数据库

Class.forName("org.gjt.mm.mysql.Driver").newInstance();

//或者Class.forName("com.mysql.jdbc.Driver");

String url ="jdbc:mysql://localhost/myDB?

user=soft&password=soft1234&useUnicode=true&characterEncoding=8859_1"

//myDB为数据库名

Connection conn= DriverManager.getConnection(url);

7、PostgreSQL数据库

Class.forName("org.postgresql.Driver").newInstance();

String url ="jdbc:postgresql://localhost/myDB" //myDB为数据库名

String user="myuser";

String password="mypassword";

Connection conn= DriverManager.getConnection(url,user,password);

8、access数据库直连用ODBC的

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;

String url="jdbc:odbc:Driver={MicroSoft Access Driver

(*.mdb)};DBQ="+application.getRealPath("/Data/ReportDemo.mdb");

Connection conn = DriverManager.getConnection(url,"","");

Statement stmtNew=conn.createStatement() ;

 

---------------------------------

一个例子:

代码如下:
------------------------------------------------------------

import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;

public class inensshow extends JFrame {


private Connection connection;
private Statement statement;
private ResultSet resultSet;
private ResultSetMetaData rsMetaData;

//GUI变量定义
private JTable table;
private JTextArea inputQuery;
private JButton submitQuery;

public inensshow()
{
//Form的标题
super( /"输入SQL语句,按查询按钮查看结果。/" );

String url = /"jdbc:mysql://localhost:3306/web/";
String username = /"inens/";
String password = /"inens/";
//加载驱动程序以连接数据库
try {
Class.forName( /"org.gjt.mm.mysql.Driver/" );
connection = DriverManager.getConnection(
url, username, password );
}
//捕获加载驱动程序异常
catch ( ClassNotFoundException cnfex ) {
System.err.println(
/"装载 JDBC/ODBC 驱动程序失败。/" );
cnfex.printStackTrace();
System.exit( 1 ); // terminate program
}
//捕获连接数据库异常
catch ( SQLException sqlex ) {
System.err.println( /"无法连接数据库/" );
sqlex.printStackTrace();
System.exit( 1 ); // terminate program
}
//如果数据库连接成功,则建立GUI
//SQL语句
String test=/"SELECT * FROM data/";
inputQuery = new JTextArea( test, 4, 30 );
submitQuery = new JButton( /"查询/" );
//Button事件
submitQuery.addActionListener(
new ActionListener() {
public void actionPerformed( ActionEvent e )
{
getTable();
}
}
);

JPanel topPanel = new JPanel();
topPanel.setLayout( new BorderLayout() );
//将/"输入查询/"编辑框布置到 /"CENTER/"
topPanel.add( new JScrollPane( inputQuery), BorderLayout.CENTER );
//将/"提交查询/"按钮布置到 /"SOUTH/"
topPanel.add( submitQuery, BorderLayout.SOUTH );
table = new JTable();
Container c = getContentPane();
c.setLayout( new BorderLayout() );
//将/"topPanel/"编辑框布置到 /"NORTH/"
c.add( topPanel, BorderLayout.NORTH );
//将/"table/"编辑框布置到 /"CENTER/"
c.add( table, BorderLayout.CENTER );
getTable();
setSize( 500, 300 );
//显示Form
show();
}

private void getTable()
{
try {
//执行SQL语句
String query = inputQuery.getText();
statement = connection.createStatement();
resultSet = statement.executeQuery( query );
//在表格中显示查询结果
displayResultSet( resultSet );
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}

private void displayResultSet( ResultSet rs )
throws SQLException
{
//定位到达第一条记录
boolean moreRecords = rs.next();
//如果没有记录,则提示一条消息
if ( ! moreRecords ) {
JOptionPane.showMessageDialog( this,
/"结果集中无记录/" );
setTitle( /"无记录显示/" );
return;
}
Vector columnHeads = new Vector();
Vector rows = new Vector();
try {
//获取字段的名称
ResultSetMetaData rsmd = rs.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
columnHeads.addElement( rsmd.getColumnName( i ) );
//获取记录集
do {
rows.addElement( getNextRow( rs, rsmd ) );
} while ( rs.next() );
//在表格中显示查询结果
table = new JTable( rows, columnHeads );
JScrollPane scroller = new JScrollPane( table );
Container c = getContentPane();
c.remove(1);
c.add( scroller, BorderLayout.CENTER );
//刷新Table
c.validate();
}
catch ( SQLException sqlex ) {
sqlex.printStackTrace();
}
}


private Vector getNextRow( ResultSet rs,
ResultSetMetaData rsmd )
throws SQLException
{
Vector currentRow = new Vector();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
currentRow.addElement( rs.getString( i ) );
//返回一条记录
return currentRow;
}

public void shutDown()
{
try {
//断开数据库连接
connection.close();
}
catch ( SQLException sqlex ) {
System.err.println( /"Unable to disconnect/" );
sqlex.printStackTrace();
}
}

public static void main( String args[] )
{
final inensshow app =
new inensshow();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing( WindowEvent e )

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值