本文目錄一覽:
- 1、用Java做一個簡單的界面,連接到資料庫(SQL Server),大家有沒有具體的例子,跪求解答
- 2、java中如何實現登錄界面與資料庫正確連接?
- 3、JAVA在界面上如何實現資料庫 表的刪除\添加數據
- 4、java中做一個連接資料庫的學生教師登陸的界面,學生教師的 用戶名、密碼都是通過資料庫來訪問,
用Java做一個簡單的界面,連接到資料庫(SQL Server),大家有沒有具體的例子,跪求解答
你可以做一個下拉框,選項有教師和學生,不過這個的話,一般是通過許可權來控制的,這樣教師和學生登錄之後,看到的菜單就不一樣了。
JDBC連接資料庫
•創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName(“com.mysql.jdbc.Driver”) ;
}catch(ClassNotFoundException e){
System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例註冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = “jdbc:mysql://localhost:3306/test” ;
String username = “root” ;
String password = “root” ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println(“資料庫連接失敗!”);
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall(“{CALL demoSp(? , ?)}”) ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ; 法長瘁短誆的搭痊但花
int rows = stmt.executeUpdate(“INSERT INTO …”) ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString(“name”) ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
java中如何實現登錄界面與資料庫正確連接?
使用JDBC進行資料庫的增刪改查操作1.下載Microsoft SQL Server 2005 JDBC 驅動包jar文件 將jar文件引入工程中2.封裝資料庫鏈接的獲取和關閉操作import java.sql.*;public class BaseDao {
/**
* 資料庫驅動類的字元串,完整的包名加類名 在工程中查看添加的jar文件 能看到這個類
*/
private static final String DRIVE = “com.microsoft.sqlserver.jdbc.SQLServerDriver”; /**
* 資料庫連接地址
*
* DataBaseName=資料庫名稱 其它固定
*/
private static final String URL = “jdbc:sqlserver://localhost:1433;DataBaseName=bbs”; /**
* 連接資料庫的用戶名
*/
private static final String USER = “sa”; /**
* 用戶密碼
*/
private static final String PASSWORD = “”; /**
* 獲取連接 異常直接拋出 或者捕獲後自定義異常信息再拋出
*/
public static Connection getConnection() throws Exception {
Class.forName(DRIVE);
return DriverManager.getConnection(URL, USER, PASSWORD);
} /**
* 關閉與資料庫的連接 釋放資源
*/
public static void closeAll(ResultSet resultSet, PreparedStatement pst,
Connection connection) throws Exception {
if (resultSet != null)
resultSet.close();
if (pst != null)
pst.close();
if (connection != null)
connection.close();
}}3.創建圖書的實體類public class Book {
/**
* 資料庫主鍵
*/
private Long id; /**
* 作者
*/
private String author; /**
* 書名
*/
private String name;
/**
* 默認構造
*
*/
public Book() {
}
/**
* 全欄位構造
* @param id
* @param author
* @param name
*/
public Book(Long id, String author, String name) {
this.id = id;
this.author = author;
this.name = name;
}
/**
* 以下為讀寫屬性的方法
* @return
*/
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
4.創建與圖書表交互的工具類import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;public class BookDao {
/**
* 添加新書
*
* @param book 要添加入資料庫的圖書 作者 書名 必須給定
*/
public void addBook(Book book) throws Exception {
// 連接
Connection connection = null;
// 執行語句
PreparedStatement pst = null;
try {
connection = BaseDao.getConnection();
// 構造執行語句
String sql = “insert into book values(” + book.getAuthor() + “,”
+ book.getName() + “)”;
pst = connection.prepareStatement(sql);
pst.executeUpdate(); } catch (Exception e) {
// 拋出異常
throw e;
} finally {
// 無論是否異常 均關閉資料庫
BaseDao.closeAll(null, pst, connection);
}
} /**
* 查詢所有書籍列表
*/
public ListBook getBooks() throws Exception {
// 用於存放查尋結果的集合
ListBook books = new ArrayListBook();
// 連接
Connection connection = null;
// 執行語句
PreparedStatement pst = null;
// 查詢結果
ResultSet resultSet = null;
try {
connection = BaseDao.getConnection();
// 構造查詢語句
String sql = “select * from book”;
pst = connection.prepareStatement(sql);
resultSet = pst.executeQuery(); // 循環讀取查詢結果行
while (resultSet.next()) {
// getXXX的參數為數據表列名
Book book = new Book(resultSet.getLong(“id”), resultSet
.getString(“author”), resultSet.getString(“name”));
// 將封裝好的圖書對象存入集合
books.add(book);
}
} catch (Exception e) {
// 拋出異常
throw e;
} finally {
// 無論是否異常 均關閉資料庫
BaseDao.closeAll(resultSet, pst, connection);
}
// 返回查詢結果
return books;
}/***其它方法類似上面 只是語句不同*/
}當然 以上只是簡單的封裝 初學者可以在理解以上代碼的基礎上 進行更高級的封裝
5.使用BookDao添加書籍和獲取所有書籍列表import java.util.List;/**
* 測試類
* @author Administrator
*
*/
public class Test { /**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
//創建工具類對象
BookDao dao = new BookDao();
//創建一本圖書
Book book = new Book(null,”QQ:495691293″,”編程菜鳥”);
//添加書籍到資料庫
dao.addBook(book);
//獲取所有圖書列表
ListBook books = dao.getBooks();
//輸出結果
for (Book b : books) {
System.out.println(b.getId()+”\t”+b.getAuthor()+”\t”+b.getName());
}
}}
JAVA在界面上如何實現資料庫 表的刪除\添加數據
建議你找一本java方面書,注意裡面有介紹jdbc的(Java DateBase Connect即Java資料庫鏈接)。
下面我寫一些鏈接代碼,盡量寫詳細點,初次接觸沒有書本理論作鋪墊的話肯定不太容易理解。下面以sqlserver資料庫為例進行說明,使用不同的資料庫只是在方法的參數上有微小的不同。
每一步:註冊資料庫驅動
Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);//從類路徑中載入驅動,參數為SQLServer的驅動類完整包名
第二步:獲取資料庫連接
Connection conn=DriverManager.getConnection(“jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=資料庫名”,”用戶名”,”密碼”)//代碼中的中文直接替換為你的資料庫的相關值
第三步:獲取 Statement對像用於執行SQL語句
Statement sta=conn.createStatement();
第四步:使用Statement對像執行SQL語句
ResultSet rs=sta.executeUpdate(“SQL 表數據刪除/添加語句”);//若對錶進行插入刪除操作則使用此語句,至此便結束。否則使用下述語句
ResultSet rs=sta.executeQuery(“SQL查詢語句”);//表查詢操作
第五步:遍歷結果集,對結表查詢結果中的數據集進行操作
while(rs.next()){
System.out.println(rs.getObject(1));//輸出表中的第一列數據
System.out.println(rs.getObject(2));輸出表中的每二列數據
……..}
第六步:關閉資料庫連接
rs.close();
sta.close;
conn.close()//關閉步驟必須先關閉結果集對象再關閉Statement對像,最後關閉Connection對像
以上便是對資料庫中表進行操作的JAVA語句,無論對java web程序還是對java應用程序都有效!當然這裡面還需要包括一些容錯處理捕獲異常,同時導入資料庫的驅動包。
我這兒還有些相關教學視頻,方便我話可以轉給你,你也可以去電驢上下。
java中做一個連接資料庫的學生教師登陸的界面,學生教師的 用戶名、密碼都是通過資料庫來訪問,
你可以做一個下拉框,選項有教師和學生,不過這個的話,一般是通過許可權來控制的,這樣教師和學生登錄之後,看到的菜單就不一樣了。
JDBC連接資料庫
•創建一個以JDBC連接資料庫的程序,包含7個步驟:
1、載入JDBC驅動程序:
在連接資料庫之前,首先要載入想要連接的資料庫的驅動到JVM(Java虛擬機),
這通過java.lang.Class類的靜態方法forName(String className)實現。
例如:
try{
//載入MySql的驅動類
Class.forName(“com.mysql.jdbc.Driver”) ;
}catch(ClassNotFoundException e){
System.out.println(“找不到驅動程序類 ,載入驅動失敗!”);
e.printStackTrace() ;
}
成功載入後,會將Driver類的實例註冊到DriverManager類中。
2、提供JDBC連接的URL
•連接URL定義了連接資料庫時的協議、子協議、數據源標識。
•書寫形式:協議:子協議:數據源標識
協議:在JDBC中總是以jdbc開始
子協議:是橋連接的驅動程序或是資料庫管理系統名稱。
數據源標識:標記找到資料庫來源的地址與連接埠。
例如:(MySql的連接URL)
jdbc:mysql:
//localhost:3306/test?useUnicode=truecharacterEncoding=gbk ;
useUnicode=true:表示使用Unicode字符集。如果characterEncoding設置為
gb2312或GBK,本參數必須設置為true 。characterEncoding=gbk:字元編碼方式。
3、創建資料庫的連接
•要連接資料庫,需要向java.sql.DriverManager請求並獲得Connection對象,
該對象就代表一個資料庫的連接。
•使用DriverManager的getConnectin(String url , String username ,
String password )方法傳入指定的欲連接的資料庫的路徑、資料庫的用戶名和
密碼來獲得。
例如:
//連接MySql資料庫,用戶名和密碼都是root
String url = “jdbc:mysql://localhost:3306/test” ;
String username = “root” ;
String password = “root” ;
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println(“資料庫連接失敗!”);
se.printStackTrace() ;
}
4、創建一個Statement
•要執行SQL語句,必須獲得java.sql.Statement實例,Statement實例分為以下3
種類型:
1、執行靜態SQL語句。通常通過Statement實例實現。
2、執行動態SQL語句。通常通過PreparedStatement實例實現。
3、執行資料庫存儲過程。通常通過CallableStatement實例實現。
具體的實現方式:
Statement stmt = con.createStatement() ;
PreparedStatement pstmt = con.prepareStatement(sql) ;
CallableStatement cstmt =
con.prepareCall(“{CALL demoSp(? , ?)}”) ;
5、執行SQL語句
Statement介面提供了三種執行SQL語句的方法:executeQuery 、executeUpdate
和execute
1、ResultSet executeQuery(String sqlString):執行查詢資料庫的SQL語句
,返回一個結果集(ResultSet)對象。
2、int executeUpdate(String sqlString):用於執行INSERT、UPDATE或
DELETE語句以及SQL DDL語句,如:CREATE TABLE和DROP TABLE等
3、execute(sqlString):用於執行返回多個結果集、多個更新計數或二者組合的
語句。
具體實現的代碼:
ResultSet rs = stmt.executeQuery(“SELECT * FROM …”) ;
int rows = stmt.executeUpdate(“INSERT INTO …”) ;
boolean flag = stmt.execute(String sql) ;
6、處理結果
兩種情況:
1、執行更新返回的是本次操作影響到的記錄數。
2、執行查詢返回的結果是一個ResultSet對象。
• ResultSet包含符合SQL語句中條件的所有行,並且它通過一套get方法提供了對這些
行中數據的訪問。
• 使用結果集(ResultSet)對象的訪問方法獲取數據:
while(rs.next()){
String name = rs.getString(“name”) ;
String pass = rs.getString(1) ; // 此方法比較高效
}
(列是從左到右編號的,並且從列1開始)
7、關閉JDBC對象
操作完成以後要把所有使用的JDBC對象全都關閉,以釋放JDBC資源,關閉順序和聲
明順序相反:
1、關閉記錄集
2、關閉聲明
3、關閉連接對象
if(rs != null){ // 關閉記錄集
try{
rs.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(stmt != null){ // 關閉聲明
try{
stmt.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
if(conn != null){ // 關閉連接對象
try{
conn.close() ;
}catch(SQLException e){
e.printStackTrace() ;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/158991.html