1. JAVA中sql語句的查詢結果值如何體現
Stringsql="SELECT角色FROMuserinfoWHERE員工編號='A001'AND密碼='a'";
try{
ResultSetres=stmt.executeQuery(sql);
while(res.next()){//循環輸出結果集
Stringrole=res.getString("角色");//這里可以根據欄位名稱得到該記錄的角色的值
}
}catch(Exceptione){
e.printStackTrace();
}
上邊是基於JDBC訪問Mysql的示例,希望對你有幫助
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的總行數。
·*****************************************************************************************************************
·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的總列數。
3. java中怎麼獲取mysql資料庫的數據
用JDBC連接資料庫,然後用sql語句。要導入mysql的驅動包。
import java.sql.*;
public class TestMySql {
static Connection con = null; // 聲明Connection對象
static Statement sql = null;
static ResultSet res = null;
public static void main(String[] args) {
TestMySql c = new TestMySql();
con = c.getConnection();
try {
sql = con.createStatement();
res = sql.executeQuery("select * from dept");
//sql語句,我資料庫里有張dept表
while (res.next()) {//輸出結果
System.out.print(res.getString(1) + "<——>");
System.out.print(res.getString(2) + "<——>");
System.out.print(res.getString(3) );
System.out.println();
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (res != null) {
res.close();
res =null;
}
if (sql != null) {
sql.close();
sql =null;
}
if (con != null) {
con.close();
con =null;
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public Connection getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver");
// 載入oracleJDBC驅動
System.out.println("資料庫驅動載入成功");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
try {// 通過訪問資料庫的URL獲取資料庫連接對象
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/mydata", "root", "qwer1234");
//mydata為mysql名字
System.out.println("資料庫連接成功");
} catch (SQLException e) {
e.printStackTrace();
}
return con; // 按方法要求返回一個Connection對象
}
}
4. 如何在java中獲得sql查詢結果數量
如果使用String
sqlQuery
=
"SELECT
*
FROM
table";
的話,可以使用ResultSet的getRow
(1)首先使用last()方法,將資料庫游標定位到記錄集的最後一行。
(2)使用getRow()方法,返回記錄集最後一行的行索引。該索引就等於記錄集所包含記錄的個數,也就是記錄集的行數。getRow()方法是在JDBC
API
2.0中才定義的,在JDBC
API
1.0中沒有這個方法。
----------------------
SELECT
count(*)
FROM
table
的話,直接從resultset中獲取
rs.getInt(1);
5. 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:關閉連接等
6. JAVA使用mybatis執行sql腳本,怎麼獲取sql腳本的查詢結果
<selectid="DAO介面方法名稱"parameterType="參數類型"resultType="返回結果類型">
select*from表where。。。
</select>
resultType 可以是任意Object對象,如果多條數據,這這個方法返回的是List<Object?>,
如果確認是單條數據,可以直接 Object? ***(**); 。
沒有封裝成對象時,默認返回的是List<Map<欄位名稱String,列值Object>>這樣的數據。
Dao介面:
List<Map<String,Object>>list(Integerid);
SQL:
<selectid="list"parameterType="Integer"resultType="Map">
select*fromaaa
<where>
<iftest="null!=id">
id>#{id}
</if>
</where>
</select>
以上示例中表示查詢id>某個數值的所有結果,返回類型為MAP
執行腳本後沒有返回結果的吧,看ScriptRunner源碼,沒有提供任何返回結果的。
privatevoidexecuteStatement(Stringcommand)throwsSQLException,UnsupportedEncodingException{
booleanhasResults=false;
Statementstatement=connection.createStatement();
statement.setEscapeProcessing(escapeProcessing);
Stringsql=command;
if(removeCRs)
sql=sql.replaceAll(" "," ");
if(stopOnError){
hasResults=statement.execute(sql);
}else{
try{
hasResults=statement.execute(sql);
}catch(SQLExceptione){
Stringmessage="Errorexecuting:"+command+".Cause:"+e;
printlnError(message);
}
}
printResults(statement,hasResults);
try{
statement.close();
}catch(Exceptione){
//
}
}
...
有結果時,最後調用了這個方法列印出來而已。
privatevoidprint(Objecto){
if(logWriter!=null){
logWriter.print(o);
logWriter.flush();
}
}
你可以調用
publicvoidsetLogWriter(PrintWriterlogWriter){
this.logWriter=logWriter;
}
傳入你自己的Writer。
7. java使用mybatis執行sql腳本,怎麼獲取sql腳本的結果
<select id="DAO介面方法名稱" parameterType="參數類型" resultType="返回結果類型">
select * from 表 where 。。。
</select>
resultType 可以是任意Object對象,如果多條數據,這這個方法返回的是List<Object?>,
如果確認是單條數據,可以直接 Object? ***(**); 。
沒有封裝成對象時,默認返回的是List<Map<欄位名稱String,列值Object>>這樣的數據。
Dao介面:
List<Map<String,Object>> list(Integer id);
SQL:
<select id="list" parameterType="Integer" resultType="Map">
select * from aaa
<where>
<if test="null!=id">
id >#{id}
8. 在java中如何獲得SQL語句查詢結果的字元串
首先你要學會jdbc連接資料庫。
其次是sql語句的問題,你要回寫更新語句。
所以你的業務流程是這樣的。從文本框取值到後端,jdbc連接資料庫,sql語句寫入。
9. java,怎麼獲得SQL語句查詢出來的單項結果
你先要安裝資料庫軟體,然後再用java連接資料庫,然後寫查詢語句,然後再賦值