⑴ java在Dao層執行完sql以後對取出來的值進行判斷
奉勸一句野迅畢, 理解mvc分層,
然後 你層只頌芹做調用資料庫,
然後你的業務處理全部去service層是搞,
然後這個判斷只需要if就昌姿可以
int data = Dao.sql("select ***");
if(data.equals(1)){
return B;
}else if(data >1 ){
return data;
}
⑵ java 對資料庫查詢結果進行判斷執行
2個方案吧:
1.用資料庫的 存儲過程 ,相當於資料庫的函數,這裡面逗弊可以加 邏輯判斷
這個方法比較少用
2.在客戶端分2步訪問資料庫,第一步登錄,根據悔李返回碧指遲的數據,再決定是否 更新資料庫,不是在sql語句中邏輯判斷 一般都這么用
⑶ 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}
⑷ JAVA方法,SQL語句模糊查詢
String sql="select * from ARITCLE where type="+type+" and title like \'\%"+title+"\%\' and writer like \'\%"+writer+"\%\'"
樓上的思路是對的,但是Java中輸出符號要用轉義符 \ 的,應為在Java中 ' % 用自己的意思,所以要用 \' \% 來表示
⑸ 用JAVA編寫一個界面以錄入SQL數據表的數據合法性檢查問題
先用正則表達式對輸入框進粗兄行驗證不就逗圓行了驗證不通過岩指襲就Exception.getmessag()。
再看看別人怎麼說的。
⑹ 在Java程序中怎樣動態的檢查SQL語句是否正
在Java程序中怎樣動態的檢查SQL語句是否正
String sql = "SELECT 角色 FROM userinfo WHERE 員工編號='A001' AND 密碼='a'";
try {
ResultSet res = stmt.executeQuery(sql);
while (res.next()) { // 循環輸出<a href="https://www..com/s?wd=%E7%BB%93%E6%9E%9C%E9%9B%86&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">結果集</a>
String role = res.getString("角色"); //這里可以根據欄位名稱得到該記錄的角色的值
}
} catch (Exception e) {
e.printStackTrace();
}
⑺ 用JAVA如何實現執行SQL腳本文件
你可以分段讀取文件,最後讀出來的是一個數組,數組中的每一個元素都是可以執行的
SQL語句
。最後你用JDBC的批量執行就好了。我不知道我理解的對不對。
⑻ 如何用Java查詢SQL中信息 條件如下
CREATE PROCEDURE getStudentInfoByNo --存儲過程,通過給定的學號返回學生信息
(@Sno INT)
AS
BEGIN
IF EXISTS(SELECT * FROM Student WHERE Sno=@Sno)
SELECT 1,* FROM Student WHERE Sno=@Sno --有結果返回一個狀態1,方便在程序中判斷
ELSE
SELECT 0,'查無此人' --沒有結果,返回狀態0,在程序中判斷.
END
這是在sqlserver中寫的存儲過程,以下是java中調用存儲過程的代碼
DriverManager.registerDriver(new SQLServerDriver());
//連接
String url="jdbc:microsoft:sqlserver://localhost:1433;databasename=YourDBName";
Connection conn = DriverManager.getConnection(url,"sa","");
String sql = "{call getStudentInfoByNo (?)}";
CallableStatement cs = conn.prepareCall(sql);
//在執行之前,必須說明所有?的內容和類型
cs.setInt(1, Sno1);//設置位置1的參數值整數Sno1
ResultSet rs = cs.executeQuery();
while(rs.next())
{
System.out.println(rs.getString(1));
//在這里可以通過rs.getString(1)判斷,如果是1,則繼續輸出rs.getString(2),rs.getString(3)等等,直到把這個學生的所有信息都輸出為止,
//如果rs.getString(1)是0,則只需輸出rs.getString(2).即輸出"查無此人"
}
rs.close();
cs.close();
conn.close();
一般可以採用這種方法解決復雜的問題.當然如果覺得復雜.
可以採用
sql語句和java相結合的方法,
int sno=0;
//給學號賦值,通過各種方法,如表達能提交
StringBuilder sb = new StringBilder();
sb.append("select * from student ");
if(sno>0)//對獲得的學好進行判斷
sb.append(" where sno = ").append(sno);
PreparedStatement ps = conn.prepareStatement(sb.toString());
rs = s.executeQuery(sqlstr);
if(rs.next)
{
//查詢出此學員所有的信息
}
else
{
System.out.print("查無此人");
}
⑼ 用JAVA如何實現執行SQL腳本文件
1.在資料庫編寫自定義函數,存儲過程,在java中調用
2.直接在java中寫sql語句,使用jdbc查詢
JDBC, 全稱為Java DataBase Connectivity standard, 它是一個面向對象的應用程序介面(API), 通過它可訪問各類關系資料庫。JDBC也是java核心類庫的一部分。
JDBC的最大特點是它獨立於具體的關系資料庫。與ODBC (Open Database Connectivity)類似, JDBC API 中定義了一些Java類分別用來表示與資料庫的連接(搏激虛connections), SQL語基燃句鉛歷(SQL statements), 結果集(result sets)以及其它的資料庫對象, 使得Java程序能方便地與資料庫交互並處理所得的結果。
⑽ JAVA執行SQL報錯, java.sql.SQLException: ORA-01438: 值大於為此列指定的允許精度
我想你java里定義的應該是float或者double類型吧?float是精確到小數點後6位,double是15位..所以你的222.00應該保存的比這個要更精確叢攜芹,而你的oracle里,只精確了兩位所以....就是這個錯誤了隱蔽,其實如果要求不嚴滲畢的話,直接定義成number就行了,那麼接到的值是什麼精度什麼類型的他就自動存了.