本文目錄一覽:
- 1、如何用java語言中如何執行sql查詢語句
- 2、java sql資料庫查詢語句怎麼寫
- 3、java 獲取SQL查詢語句返回的結果
- 4、java 獲取SQL查詢語句返回的結果?
- 5、java如何實現sql連接和查詢的代碼?
如何用java語言中如何執行sql查詢語句
使用jdbc技術,首先導入連接資料庫的jar包,聲明載入的類名,獲取連接,進行查詢,如:
Class.forName(“oracle.jdbc.driver.OracleDriver”);
Connection conn = DriverManager.getConnection(“jdbc:oracle:thin:@localhost:1521:orcl”, “scott”, “tiger”);
Statement sta = conn.createStatement();
ResultSet rs = sta.executeQuery(“select * from tablename”);
java sql資料庫查詢語句怎麼寫
使用java的jdbc來連接資料庫
如連接mysql(其餘資料庫類似),引入mysql-connector-java-5.1.24.jar包到工程中,在程序中可以這樣連接mysql:
String Server = 你伺服器的ip;
String User = 你的賬號名;
String Password = 你的密碼;
String Database = 你的資料庫名;
// 驅動程序名
String driver = “com.mysql.jdbc.Driver”;
// URL指向要訪問的資料庫名scutcs
String url = “jdbc:mysql://”+Server+”/” + Database;
// 載入驅動程序
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();
String sql = “select ** from ** where **”;
ResultSet rs = statement.executeQuery(sql);
//假設資料庫表只有兩個屬性值,一個屬性值為String類型,另一個為Int類型
while(rs.next()) {
System.out.println(rs.getString(1)+” ” +rs.getInt(2) );
}
java 獲取SQL查詢語句返回的結果
在Java中,獲得ResultSet的總行數的方法有以下幾種。
第一種:利用ResultSet的getRow方法來獲得ResultSet的總行數
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery(“select * from yourTableName”);
rset.last();
int rowCount = rset.getRow(); //獲得ResultSet的總行數
第二種:利用循環ResultSet的元素來獲得ResultSet的總行數
ResultSet rset = stmt.executeQuery(“select * from yourTableName”);
int rowCount = 0;
while(rset.next()) {
rowCount++;}rowCount就是ResultSet的總行數。
第三種:利用sql語句中的count函數獲得ResultSet的總行數
ResultSet rset = stmt.executeQuery(“select count(*) totalCount from yourTableName”);
int rowCount = 0;
if(rset.next()) {
rowCount=rset .getInt(“totalCount “);}rowCount就是ResultSet的總行數。
middot;*****************************************************************************************************************
middot;Java中獲得ResultSet的總列數是非常簡單事情,因為Java中ResultSet提供了ResultSetMetaData工具類,ResultSetMetaData是ResultSet的元數據的集合說明。
java獲得ResultSet總列數的代碼如下:
Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rset = stmt.executeQuery(“select * from yourtable”);
ResultSetMetaData rsmd = rset.getMetaData() ;
columnCount就是ResultSet的總列數。
java 獲取SQL查詢語句返回的結果?
step1:構造連接
Class.forName(“com.mysql.jdbc.Driver”);
Connection con = DriverManager.getConnection(“jdbc:mysql://127.0.0.1:3306/db”,”root”,”123″);
step2:構造語句
String sql = “select username,password from t_user where username=?”;
PreparedStatement stmt = con.prepareStatement(sql);
stmt.setString(1, “zhangshan”); //給SQL的”?”(問號)傳值。
step3:執行查詢
ResultSet rs = stmt.executeQuery(); //rs就是SQL查詢語句返回的結果集
step4:處理結果(java 獲取SQL查詢語句返回的結果)
List list = new ArrayList();
//遍歷結果集,這樣寫就可以了,就是一個循環,有多少條記錄,這裡就會循環多少次,
//一次就是一條記錄,想像一下就像一個表的一條記錄
//在這裡可以做查詢出來的數據處理,可以封裝成對象之類的(就是把值給它)
if(rs.next()) { //遍歷結果集,這樣寫就可以了
User u = new User();
String username = rs.getString(“username”);
String address = rs.getString(“password “);
u.setUsername(username);
u.setAddress(address);
list.add(u);
}
//上面這個例子意思是,把每一條記錄封裝成了一個User對象,然後這些User對象都放存入到了一個list
step4:關閉連接等
java如何實現sql連接和查詢的代碼?
import java.sql.Connection。
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
public class DBCon {
//資料庫驅動對象
public static final String DRIVER=”oracle.jdbc.driver.OracleDriver”;
//資料庫連接地址(資料庫名)
public static final String URL=”jdbc:oracle:thin:@localhost:1521:orcl”;
//登陸名
public static final String USER=”FM”;
//登陸密碼
public static final String PWD=”FM”;
//創建資料庫連接對象
private Connection con=null;
//創建資料庫預編譯對象
private PreparedStatement ps=null;
//創建結果集
private ResultSet rs=null;
//創建數據源對象
public static DataSource source=null;
// //靜態代碼塊
// static{
//
// //初始化配置文件context
// try {
// Context context=new InitialContext();
// source=(DataSource)context.lookup(“java:comp/env/jdbc/webmessage”);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
//
// }
/**
* 獲取資料庫連接
*/
public Connection getCon(){
try {
Class.forName(DRIVER);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con=DriverManager.getConnection(URL,USER,PWD);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return con;
}
// /**
// * 獲取資料庫連接
// */
// public Connection getCon(){
//
// try {
// con=source.getConnection();
// } catch (SQLException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
//
// return con;
// }
/**
* 關閉所有資源
*/
public void closeAll(){
if(rs!=null)
try {
rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(ps!=null)
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(con!=null)
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param sql資料庫更新(增、刪、改) 語句
* @param pras參數列表(可傳,可不傳,不傳為NULL,以數組形式存在)
* @return 返回受影響都行數
*/
public int update(String sql,String… pras){
int resu=0;
con=getCon();
try {
ps=con.prepareStatement(sql);
for(int i=0;ipras.length;i++){
ps.setString(i+1,pras[i]);
}
resu=ps.executeUpdate();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
closeAll();
}
return resu;
}
/**
* @param sql資料庫查詢語句
* @param pras參數列表(可傳,可不傳,不傳為NULL,以數組形式存在)
* @return 返回結果集
*/
public ResultSet query(String sql,String… pras){
con=getCon();
try {
ps=con.prepareStatement(sql);
if(pras!=null)
for(int i=0;ipras.length;i++){
ps.setString(i+1, pras[i]);
}
rs=ps.executeQuery();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return rs;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/303533.html