1. 在java中可以用幾種方法連接資料庫
你的問題很難回答啊
如果從內在原理來講就是一種:先載入驅動程序再獲得連接
如果從操作來講我把他分三種:
1,直接在你的代碼中用代碼寫出載入驅動和獲得連接的代碼
2,在windows的數據源中配置一個數據源,這種方法一般不用
3,如果是網站開發可以在web應用的web.xml中配置一個連接池,用時直接從池中獲得連接.
java與資料庫的連接都是通過JDBC介面實現的你如果要問的是JDBC的種類的話你可以查數就4類
1,jdbc-odbc橋
2,jdbc-native方法
3,jdbc-網路
4,jdbc驅動
你如果問JDBC具體有哪些,那隻能告訴你有幾種資料庫就有幾種JDBC.
2. Ubuntu下Java程序如何連接Mysql資料庫
java連接資料庫主要使用的JDBC驅動,基本和系統無關,
首先從Mysql官網上現在mysql的jdbc驅動包(jar),然後添加到classpath中,如果使用的ide也可以添加到buildpath中
然後就是jdbc的連接流程了:
1.注冊驅動
2.寫url
3.連接,生成Connection對象
4.生成Statement,執行sql語句
3. 求java連接Sql server 2008資料庫的方法或代碼
java連接資料庫是通過JDBC實現的,之所以能夠跨資料庫,是因為每個資料庫廠商按照JDBC相關介面進行編寫相應的資料庫連接與處理類。sql server 2008也不例外,需要自己的jdbc實現類才能夠通過java連接資料庫。sql server 20008需要sqljdbc4.jar這個jdbc架包,具體實現如下:
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection conn = DriverManager.getConnection(
"jdbc:sqlserver://localhost;databaseName=MyTest", "sa", "1111");
.................................
架包已經發送到你的郵箱。
4. 如何將一個java對象保存到資料庫中比如一個Map對象保存到mysql資料庫的一個欄位中
我學習Java還沒那麼深入,不過我想可以保存一個欄位名,用的時候getString()出來,然後Class.forName("獲取的欄位"),回答不對見諒…………
5. 用java怎麼連接到mysql資料庫
當然,首先要安裝有JDK(一般是JDK1.5.X)。然後安裝MySQL,這些都比較簡單,具體過程就不說了。配置好這兩個環境後,下載JDBC驅動mysql-connector-java-5.0.5.zip(這個是最新版的)。然後將其解壓縮到任一目錄。我是解壓到D盤,然後將其目錄下的mysql-connector-java-5.0.5-bin.jar加到classpath里,具體如下:「我的電腦」-> 「屬性」 -> 「高級」 -> 「環境變數」,在系統變數那裡編輯classpath,將D:\mysql-connector-java-5.0.5\mysql-connector-java-5.0.5-bin.jar加到最後,在加這個字元串前要加「;」,以與前一個classpath區分開。然後確定。
環境配置好了,很簡單。現在,先配置MySQL,設其用戶名為「root」,密碼為「root」。在命令行或用一個SQL的前端軟體創建Database。
我是用SQLyog的前端軟體來創建Database的。
先創建資料庫:
CREATE DATABASE SCUTCS;
接著,創建表:
CREATE TABLE STUDENT
(
SNO CHAR(7) NOT NULL,
SNAME VARCHAR(8) NOT NULL,
SEX CHAR(2) NOT NULL,
BDATE DATE NOT NULL,
HEIGHT DEC(5,2) DEFAULT 000.00,
PRIMARY KEY(SNO)
);
然後插入數據,可以用SQL語句insert into <表名> values (value1, value2, ...);
也可以用SQLyog來操作
好了,創建好了。
下面,我們來編寫.java文件來演示一下如何訪問MySQL資料庫。
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){
// 驅動程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要訪問的資料庫名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置時的用戶名
String user = "root";
// MySQL配置時的密碼
String password = "root";
try {
// 載入驅動程序
Class.forName(driver);
// 連續資料庫
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");
// statement用來執行SQL語句
Statement statement = conn.createStatement();
// 要執行的SQL語句
String sql = "select * from student";
// 結果集
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("執行結果如下所示:");
System.out.println("-----------------");
System.out.println(" 學號" + "\t" + " 姓名");
System.out.println("-----------------");
String name = null;
while(rs.next()) {
// 選擇sname這列數據
name = rs.getString("sname");
/* 何問起 hovertree.com */
// 首先使用ISO-8859-1字元集將name解碼為位元組序列並將結果存儲新的位元組數組中。
// 然後使用GB2312字元集解碼指定的位元組數組
name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 輸出結果
System.out.println(rs.getString("sno") + "\t" + name);
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}
}
}
接下來我們運行一下看下效果:
D:\testjdbc>javac JDBCTest.java
D:\testjdbc>java JDBCTest
Succeeded connecting to the Database!
-----------------------
執行結果如下所示:
-----------------------
學號 姓名
-----------------------
0104421 周遠行
0208123 王義平
0209120 何問起
0309119 李 維
0309203 歐陽美林
0309226 柯樂義
哈哈,成功啦
6. java怎麼連接mysql資料庫
publicstaticvoidmain(String[]args)throwsException{
Connectionconn=null;
Stringsql;
//MySQL的JDBCURL編寫方式:jdbc:mysql://主機名稱:連接埠/資料庫的名稱?參數=值
//避免中文亂碼要指定useUnicode和characterEncoding
//執行資料庫操作之前要在資料庫管理系統上創建一個資料庫,名字自己定,
//下面語句之前就要先創建javademo資料庫
Stringurl="jdbc:mysql://localhost:3306/demo?user=root&password=root&useUnicode=true&characterEncoding=UTF8";
try{
//之所以要使用下面這條語句,是因為要使用MySQL的驅動,所以我們要把它驅動起來,
//可以通過Class.forName把它載入進去,也可以通過初始化來驅動起來,下面三種形式都可以
Class.forName("com.mysql.jdbc.Driver");//動態載入mysql驅動
//or:
//com.mysql.jdbc.Driverdriver=newcom.mysql.jdbc.Driver();
//or:
//newcom.mysql.jdbc.Driver();
System.out.println("成功載入MySQL驅動程序");
//一個Connection代表一個資料庫連接
conn=DriverManager.getConnection(url);
//Statement裡面帶有很多方法,比如executeUpdate可以實現插入,更新和刪除等
Statementstmt=conn.createStatement();
sql="createtablestudent(NOchar(20),namevarchar(20),primarykey(NO))";
intresult=stmt.executeUpdate(sql);//executeUpdate語句會返回一個受影響的行數,如果返回-1就沒有成功
if(result!=-1){
System.out.println("創建數據表成功");
sql="insertintostudent(NO,name)values('2012001','陶偉基')";
result=stmt.executeUpdate(sql);
sql="insertintostudent(NO,name)values('2012002','周小俊')";
result=stmt.executeUpdate(sql);
sql="select*fromstudent";
ResultSetrs=stmt.executeQuery(sql);//executeQuery會返回結果的集合,否則返回空值
System.out.println("學號 姓名");
while(rs.next()){
System.out
.println(rs.getString(1)+" "+rs.getString(2));//入如果返回的是int類型可以用getInt()
}
}
}catch(SQLExceptione){
System.out.println("MySQL操作錯誤");
e.printStackTrace();
}catch(Exceptione){
e.printStackTrace();
}finally{
conn.close();
}
}
7. 怎麼用java連接SQL資料庫
如何用java連接sql的資料庫 1、java資料庫操作基本流程 : java資料庫操作基本流程:取得資料庫連接 - 執行sql語句 - 處理執行結果 - 釋放資料庫連接
2、幾個常用的重要技巧:可滾動、更新的記錄集 、 批量更新 、事務處理1、取得資料庫連接1)用DriverManager取資料庫連接例子:String className,url,uid,pwd;
className = "oracle.jdbc.driver.OracleDriver";
url = "jdbc:oracle:thin:@127.0.0.1:1521:orasvr;
uid = "system";
pwd = "manager";
Class.forName(className);
Connection cn = DriverManager.getConnection(url,uid,pwd);2)用jndi(java的命名和目錄服務)方式例子String jndi = "jdbc/db";
Context ctx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) ctx.lookup(jndi);
Connection cn = ds.getConnection(); //多用於jsp中2、執行sql語句1)用Statement來執行sql語句String sql;
Statement sm = cn.createStatement();
sm.executeQuery(sql); // 執行數據查詢語句(select)
sm.executeUpdate(sql); // 執行數據更新語句(delete、update、insert、drop等)statement.close();2)用PreparedStatement來執行sql語句String sql;
sql = "insert into user (id,name) values (?,?)";
PreparedStatement ps = cn.prepareStatement(sql);
ps.setInt(1,xxx);
ps.setString(2,xxx);
...
ResultSet rs = ps.executeQuery(); // 查詢
int c = ps.executeUpdate(); // 更新3、處理執行結果查詢語句,返回記錄集ResultSet。更新語句,返回數字,表示該更新影響的記錄數。ResultSet的方法:1、next(),將游標往後移動一行,如果成功返回true;否則返回false。2、getInt("id")或getSting("name"),返回當前游標下某個欄位的值。3、釋放連接。cn.close();一般,先關閉ResultSet,然後關閉Statement(或者PreparedStatement);最後關閉Connection可滾動、更新的記錄集1、創建可滾動、更新的StatementStatement sm=cn.createStatement(ResultSet.TYPE_SCROLL_ENSITIVE,
ResultSet.CONCUR_READ_ONLY);該Statement取得的ResultSet就是可滾動的2、創建PreparedStatement時指定參數PreparedStatemet ps=cn.prepareStatement(sql,
ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);ResultSet.absolute(9000);批量更新1、StatementStatement sm = cn.createStatement();
sm.addBatch(sql1);
sm.addBatch(sql2);
...
sm.executeBatch()一個Statement對象,可以執行多個sql語句以後,批量更新。這多個語句可以是delete、update、insert等或兼有2、 ps = cn.preparedStatement(sql);
{
ps.setXXX(1,xxx);
...
ps.addBatch();
}
ps.executeBatch();一個PreparedStatement,可以把一個sql語句,變換參數多次執行,一次更新。事務的處理1、關閉Connection的自動提交cn.setAutoCommit(false);2、執行一系列sql語句要點:執行每一個新的sql語句前,上一次執行sql語句的Statement(或者PreparedStatemet)必須先closeStatement sm ;
sm = cn.createStatement(insert into user...);
sm.executeUpdate();
sm.close();sm = cn.createStatement("insert into corp...);
sm.executeUpdate();
sm.close();3、提交cn.commit();