java資料庫連接配置
A. javaweb與資料庫相連,具體怎麼做(javaweb項目怎麼連接資料庫)
1.首先要移動mysql-connector-java-5.1.44-bin.jar到tomactde的lib目錄下(我的目錄是這樣:F: omcatapache-tomcat-7.0.63lib)這是一個連接資料庫要用到包,一般在下載mysql的時候選擇配置會下載,然旅配晌後移動到tomact的lib下;
2.在你賣明要連接資料庫的項目中新建一個jsp文件,將下列代碼復制進去;
<%@pagecontentType="text/html;charset=UTF-8"language="java"%<<%@pageimport="com.mysql.jdbc.Driver"%<<%@pageimport="java.sql.*"%/使用獲取資料庫連接,其中返回的Connection就代表了Java程序和資料庫的連接<%StringdriverName="com.mysql.jdbc.Driver";StringuserName="root";//你的資料庫用戶名StringpassWorld="your_password";//你的資料庫密碼StringdbName="test";//資料庫名稱StringtableName="abc";//表的名稱Stringurl="jdbc:mysql://localhost/"dbName"?user="userName"&password="passWorld;try{Class.forName("com.mysql.jdbc.Driver").newInstance();Connectionconnection=.(url);Statementstatement=connection.();Stringsql="SELECT*FROM"tableName;ResultSetresult=statement.(sql);rmate=result.getMetaData();intnumCount=rmate.();while(result.next()){out.print(result.getInt(2));out.print(result.getString(1));//out.print(result.getInt(3));out.print("
");}result.close();statement.close();connection.close();}catch(Exceptione){e.getMessage();}%<
3.然後運行該代碼就可以在頁面看見你的數據了。在這里同時提供一個可以在IDEA快速查看資料庫的方法;
4.點擊IDEA右側的DataBase,進入如下頁面,點擊要查看的資料庫類型,我是MySQL;
5.然後進入如下界面,輸入資料庫名稱,賬號,密碼,然後先測試一下連接,測試通過後,就可以點擊OK;
6.然後就可以查看你的數據信息啦。
拓展資料:
JavaWeb,是用Java技術來解決相關web互聯網領拆鋒域的技術總和。web包括:web伺服器和web客戶端兩部分。Java在客戶端的應用有javaapplet,不過使用得很少,Java在伺服器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術對Web領域的發展注入了強大的動力。
Java的Web框架雖然各不相同,但基本也都是遵循特定的路數的:使用Servlet或者Filter攔截請求,使用MVC的思想設計架構,使用約定,XML或Annotation實現配置,運用Java面向對象的特點,面向對象實現請求和響應的流程,支持Jsp,Freemarker,Velocity等視圖。
B. java中如何實現登錄界面與資料庫正確連接
使用JDBC進行慶衫資料庫的增刪改查操作1.下載Microsoft SQL Server 2005 JDBC 驅動包jar文件 將jar文件引入工程中2.封裝資料庫鏈接的獲取和關閉操作import java.sql.*;public class BaseDao {x0dx0a /**x0dx0a * 資料庫驅動類的字元串,完整的包名加類名 在工程中查看添加的jar文件 能看到這個類x0dx0a */x0dx0a private static final String DRIVE = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; /**x0dx0a * 資料庫連接地址x0dx0a * x0dx0a * DataBaseName=資料庫名稱 其它固定x0dx0a */x0dx0a private static final String URL = "jdbc:sqlserver://localhost:1433;DataBaseName=bbs"; /**x0dx0a * 連接資料庫的用戶名x0dx0a */x0dx0a private static final String USER = "sa"; /譽早腔**x0dx0a * 用戶密碼x0dx0a */x0dx0a private static final String PASSWORD = ""; /**x0dx0a * 獲取連接 異常直接拋出 或者捕獲後自定義異常信息再拋出x0dx0a */x0dx0a public static Connection getConnection() throws Exception {x0dx0a Class.forName(DRIVE);x0dx0a return DriverManager.getConnection(URL, USER, PASSWORD);x0dx0a } /**x0dx0a * 關閉與資料庫的連接 釋放資源x0dx0a */x0dx0a public static void closeAll(ResultSet resultSet, PreparedStatement pst,x0dx0a Connection connection) throws Exception {x0dx0a if (resultSet != null)x0dx0a resultSet.close();x0dx0a if (pst != null)x0dx0a pst.close();x0dx0a if (connection != null)x0dx0a connection.close();x0dx0a }}3.創建圖書的實體類public class Book {x0dx0a /**x0dx0a * 資料庫主鍵x0dx0a */x0dx0a private Long id; /睜脊**x0dx0a * 作者x0dx0a */x0dx0a private String author; /**x0dx0a * 書名x0dx0a */x0dx0a private String name;x0dx0a /**x0dx0a * 默認構造x0dx0a *x0dx0a */x0dx0a public Book() {x0dx0a }x0dx0a /**x0dx0a * 全欄位構造x0dx0a * @param idx0dx0a * @param authorx0dx0a * @param namex0dx0a */x0dx0a public Book(Long id, String author, String name) {x0dx0a this.id = id;x0dx0a this.author = author;x0dx0a this.name = name;x0dx0a }x0dx0a /**x0dx0a * 以下為讀寫屬性的方法x0dx0a * @returnx0dx0a */x0dx0a public String getAuthor() {x0dx0a return author;x0dx0a }x0dx0a public void setAuthor(String author) {x0dx0a this.author = author;x0dx0a }x0dx0a public Long getId() {x0dx0a return id;x0dx0a }x0dx0a public void setId(Long id) {x0dx0a this.id = id;x0dx0a }x0dx0a public String getName() {x0dx0a return name;x0dx0a }x0dx0a public void setName(String name) {x0dx0a this.name = name;x0dx0a }x0dx0a}x0dx0a4.創建與圖書表交互的工具類import java.sql.Connection;x0dx0aimport java.sql.PreparedStatement;x0dx0aimport java.sql.ResultSet;x0dx0aimport java.util.ArrayList;x0dx0aimport java.util.List;public class BookDao {x0dx0a /**x0dx0a * 添加新書x0dx0a * x0dx0a * @param book 要添加入資料庫的圖書 作者 書名 必須給定x0dx0a */x0dx0a public void addBook(Book book) throws Exception {x0dx0a // 連接x0dx0a Connection connection = null;x0dx0a // 執行語句x0dx0a PreparedStatement pst = null;x0dx0a try {x0dx0a connection = BaseDao.getConnection();x0dx0a // 構造執行語句x0dx0a String sql = "insert into book values(" + book.getAuthor() + ","x0dx0a + book.getName() + ")";x0dx0a pst = connection.prepareStatement(sql);x0dx0a pst.executeUpdate(); } catch (Exception e) {x0dx0a // 拋出異常x0dx0a throw e;x0dx0a } finally {x0dx0a // 無論是否異常 均關閉資料庫x0dx0a BaseDao.closeAll(null, pst, connection);x0dx0a }x0dx0a } /**x0dx0a * 查詢所有書籍列表x0dx0a */x0dx0a public List
C. Java資料庫連接池的幾種配置方法(以MySQL數
連接先建立一些連接,並且這些連接允許共享,因此這樣就節省了每次連接的時間開銷。Mysql資料庫為例,連接池在Tomcat中的配置與使用。
1、創建資料庫Student,表student
2、配置server.xml文件。Tomcat安裝目錄下conf中server.xml文件。
<GlobalNamingResources>
<Resource
name="jdbc/DBPool"
type="javax.sql.DataSource"
password=""
driverClassName="com.mysql.jdbc.Driver"
maxIdle="2"
maxWait="5000"
username="root"
url="jdbc:mysql://localhost:3306/student"
maxActive="3"
/>
</GlobalNamingResources>
name:指定連接池的名稱
type:指定連接池的類,他負責連接池的事務處理
url:指定要連接的資料庫
driverClassName:指定連接資料庫使用的驅動程序
username:資料庫用戶名
password:資料庫密碼
maxWait:指定最大建立連接等待時間,如果超過此時間將接到異常
maxIdle:指定連接池中連接的最大空閑數
maxActive:指定連接池最大連接數
3、配置web.xml文件。
<web-app>
<resource-ref>
<description>mysql資料庫連接池配置</description>
<res-ref-name>jdbc/DBPool</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</web-app>
4、配置context.xml文件
與server.xml文件所在的位置相同。
<Context>
<ResourceLink
name="jdbc/DBPool"
type="javax.sql.DataSource"
global="jdbc/DBPool"
/>
</Context>
5、測試
DataSource pool = null;
Context env = null;
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try{
env = (Context)new InitialContext().lookup("java:comp/env");
//檢索指定的對象,返回此上下文的一個新實例
pool = (DataSource)env.lookup("jdbc/DBPool");
//獲得資料庫連接池
if(pool==null){out.printl("找不到指定的連接池!");}
con = pool.getConnection();
st = con.createStatement();
rs = st.executeQuery("select * from student");
}catch(Exception ex){out.printl(ne.toString());}
D. 如何用java 連接 sqlserver 資料庫
本文將介紹使用java連接sqlserver資料庫
工具/材料
myeclipse 、 SqlServer資料庫
方法:
1、要向連接資料庫,首先應該保證資料庫服務打開
2、資料庫服務打開之後就可以在環境中編寫連接代碼了。如圖:
連接資料庫就是這兩個步驟:1)載入驅動、2)創建連接。
注意在導包是導入的java.sql下的。
接下來直接運行一下就可以測試是否連接成功了
E. java怎麼與資料庫連接
使用java連接MySQL資料庫與其他的資料庫連接核心是一樣的,如果說區別,那就是所需的驅動不一樣。
工具/原料
MySQL、JDK
方法/步驟
1、首先需要安裝好JDK(配置環境變數),如圖所示:
3、最後通過代碼進行連接。
(1)確定連接路徑URL:
String url="jdbc:mysql://localhost(可以是本機IP地址):3306(埠號)/mysqltest(資料庫名稱)?"+"user=用戶賬號&password=用戶密碼&useUnicode=字元編碼";
(2)載入驅動:
Class.forName("com.mysql.jdbc.Driver");
(3)連接,獲取Connection對象
Connection conn=DriverManager.getConnection(url)
(4)可以通過conn對象檢驗連接與否。
F. java如何訪問資料庫(java訪問mysql資料庫)
Java可以使用JDBC訪問資料庫,也可以使用各類ORM框架訪問資料庫,但這些框架最終還是通過JDBC訪問資料庫,它們只是封裝了資料庫操作,而使得開發者可以減少這部分消耗。因此,本文只講解JDBC訪問方式。
JDBC訪問一般分為如下流程:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),這通過java.lang.Class類的靜態方法forName(StringclassName)實現。
例如:
try{
//載入MySql的驅動類
Class.forName("com.mysql.jdbc.Driver");
}catch(e){
System.out.println("找不到驅動程序類,載入驅動失敗!");
e.();
}
成功載入後,會將Driver類的實例注冊到類中。
2、提供JDBC連接的URL
連接URL定義了連接資料庫時的協議、子協議、數據源標識。
書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql://localhost:3306/test?useUnicode=true&=gbk;
useUnicode=true:表示使用Unicode字元集。如果設置為
gb2312或GBK,本參數必須設置為true。=gbk:字元編碼方式。
3、創建資料庫的連接
要連接資料庫,需要向java.sql.請求並獲得Connection對象,該對象就代表一個資料庫的連接。
使用的(Stringurl,Stringusername,Stringpassword)方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
Stringurl="jdbc:mysql://localhost:3306/test";
Stringusername="root";
Stringpassword="root";
try{
Connectioncon=
.(url,username,password);
}catch(se){
System.out.println("資料庫連接失敗!");
se.();
}
4、創建一個Statement
要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過實例實現。
3、執行資料庫存儲過程。通常通過實例實現。
具體的實現方式:
Statementstmt=con.();
PreparedStatementpstmt=con.prepareStatement(sql);
CallableStatementcstmt=con.prepareCall("{CALLdemoSp(?,?)}");
5、執行慧轎SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery、executeUpdate和execute
1、ResultSetexecuteQuery(StringsqlString):執行查詢資料庫的SQL語句,返回一個結果集(ResultSet)對象。
2、intexecuteUpdate(StringsqlString):用於執行INSERT、UPDATE或DELETE語句以及SQLDDL語句,如:CREATETABLE和DROPTABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的語句。
具芹尺體實現的代碼:
ResultSetrs=stmt.executeQuery("SELECT*FROM...");
introws=stmt.executeUpdate("INSERTINTO...");
booleanflag=stmt.execute(Stringsql);
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提嫌碧高供了對這些行中數據的訪問。
使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
Stringname=rs.getString("name");
Stringpass=rs.getString(1);//此方法比較高效(列是從左到右編號的,並且從列1開始)
}
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs!=null){//關閉記錄集
try{
rs.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(stmt!=null){//關閉聲明
try{
stmt.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
if(conn!=null){//關閉連接對象
try{
conn.close();
}catch(SQLExceptione){
e.printStackTrace();
}
}
G. Java中如何實現與後台資料庫的連接
用JAVA連接資料庫主要有兩種方式,一是用JDBC-ODBC橋來連接,二是用相關廠商提供的相應驅動程序來連接,首先談談第一種連接。 x0dx0ax0dx0aJDBC-ODBC橋接器是用JdbcOdbc.Class和一個用於訪問ODBC驅動程序的本地庫實現的。對於WINDOWS平台,該本地庫是一個動態連接庫DLL(JDBCODBC.DLL)。 x0dx0ax0dx0a由於JDBC在設計上與ODBC很接近。在內部,這個驅動程序把JDBC的方法映射到ODBC調用上,這樣,JDBC就可以和任何可用的ODBC驅動程序進行交互了。這種橋接器的優點是,它使JDBC目前有能力訪問幾乎所有的資料庫。通行方式如圖所示: x0dx0ax0dx0a應用程序---JDBC API---JDBC-ODBC---ODBC API---ODBC層---數據源 x0dx0ax0dx0a具體操作方法為: x0dx0ax0dx0a首先打開控制面板的管理工具,打開數據源(ODBC),在用戶DSN裡面添加數據源(即你要連接的資料庫的名字),在這里假定連接SQL SERVER 2000的GoodsSupply資料庫。名稱填寫你要連接的資料庫的名稱(GoodsSupply),然後逐步設置,如果選用了使用SQL-SERVER密碼認證的話,就要輸入相應的用戶名及密碼連接到資料庫。一路下一步設置完成。 x0dx0ax0dx0a在JAVA裡面編寫程序進行測試,在這里我的程序是讓用戶輸入任意的表名與與列名,把該列的所有數據輸出。源代碼如下: x0dx0ax0dx0aimport java.io.BufferedReader; x0dx0aimport java.io.InputStreamReader; x0dx0aimport java.sql.*; x0dx0ax0dx0apublic class ODBCBridge { x0dx0ax0dx0apublic static void main(String[] args) { x0dx0aString url="jdbc:odbc:GoodsSupply"; x0dx0aStatement sm=null; x0dx0aString command=null; x0dx0aResultSet rs=null; x0dx0aString tableName=null; x0dx0aString cName=null; x0dx0aString result=null; x0dx0aBufferedReader input=new BufferedReader(new InputStreamReader(System.in)); x0dx0atry { x0dx0atry { x0dx0aClass.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //載入驅動 x0dx0a}catch(ClassNotFoundException e){ x0dx0aSystem.out.println("Can not load Jdbc-Odbc Bridge Driver"); x0dx0aSystem.err.print("ClassNotFoundException:"); x0dx0aSystem.err.println(e.getMessage()); x0dx0a} x0dx0aConnection con=DriverManager.getConnection(url,"USER","PASSWORD"); //使用SQL-SERVER2000認證 x0dx0aDatabaseMetaData dmd=con.getMetaData(); //DMD為連接的相應情況 x0dx0aSystem.out.println("連接的資料庫:"+dmd.getURL()); x0dx0aSystem.out.println("驅動程序:"+dmd.getDriverName()); x0dx0asm=con.createStatement(); x0dx0aSystem.out.println("輸入表名"); x0dx0atableName=input.readLine(); x0dx0awhile(true) { x0dx0aSystem.out.println("輸入列名(為空時程序結束):"); x0dx0acName=input.readLine(); x0dx0aif(cName.equalsIgnoreCase("")) x0dx0abreak; x0dx0acommand="select "+cName+" from "+tableName; x0dx0ars=sm.executeQuery(command); //執行查詢 x0dx0aif(!rs.next()) x0dx0aSystem.out.println("表名或列名輸入有誤"); x0dx0aelse { x0dx0aSystem.out.println("查詢結果為:"); x0dx0ado x0dx0a{ x0dx0aresult=rs.getString(cName); x0dx0a//資料庫語言設置為中文,不用轉換編碼 x0dx0a//result=new String(result.getBytes("ISO-8859-1"),"GB2312"); x0dx0aSystem.out.println(result); x0dx0a}while(rs.next()); x0dx0a} x0dx0a} x0dx0a}catch(SQLException ex) { x0dx0aSystem.out.println("SQLException:"); x0dx0awhile(ex!=null) { x0dx0aSystem.out.println("Message:"+ex.getMessage()); x0dx0aex=ex.getNextException(); x0dx0a} x0dx0a}catch(Exception e) { x0dx0aSystem.out.println("IOException"); x0dx0a} x0dx0a} x0dx0a}