當前位置:首頁 » 存儲配置 » jfinalmysql存儲過程

jfinalmysql存儲過程

發布時間: 2022-07-17 10:41:20

❶ jfinal怎麼連接mysql

先創建個jdbc.properties
在裡面寫上連接資料庫的信息

不寫jdbc.properties的話 直接把連接資料庫所需的參數寫進去也行

❷ jfinal中能不能使用mysql自定義函數

jfinal 是直接將 sql 扔給 JDBC 執行的,所以終極回答是,只要是 JDBC 支持,那 jfinal 就支持。

❸ jfinal中動態sql是一般是怎麼使用的

動態sql一般用在存儲過程中,可以在存儲過程中使用DDL或DML語句,如創建刪除操作。 語法:execute immediate 'DDL或DML語句'

❹ 求助java調用MYSQL存儲過程的問題

importjava.sql.CallableStatement;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.Types;
/*
*對應的存儲過程
DROPPROCEDUREIFEXISTS`pro_num_user`;
delimiter;;
CREATEPROCEDURE`pro_num_user`(INuser_namevarchar(10),OUTcount_numINT)
READSSQLDATA
BEGIN
SELECTCOUNT(*)INTOcount_numFROMtab_userWHERE'name'=user_name;
END
;;
delimiter;
*/
publicclassTest{

publicstaticfinalStringDRIVER_CLASS="com.mysql.jdbc.Driver";
publicstaticfinalStringURL="jdbc:mysql://127.0.0.1:3306/test";
="root";
="acbee";
publicstaticvoidmain(String[]args)throwsException{
test1();
test2();
}

publicstaticvoidtest1()throwsException
{
Class.forName(DRIVER_CLASS);
Connectionconnection=DriverManager.getConnection(URL,USERNAME,PASSWORD);
Stringsql="{CALLpro_num_user(?,?)}";//調用存儲過程
CallableStatementcstm=connection.prepareCall(sql);//實例化對象cstm
cstm.setString(1,"myd");//存儲過程輸入參數
//cstm.setInt(2,2);//存儲過程輸入參數
cstm.registerOutParameter(2,Types.INTEGER);//設置返回值類型即返回值
cstm.execute();//執行存儲過程
System.out.println(cstm.getInt(2));
cstm.close();
connection.close();
}

publicstaticvoidtest2()throwsException
{
Class.forName(DRIVER_CLASS);
Connectionconnection=DriverManager.getConnection(URL,USERNAME,PASSWORD);
Stringsql="{CALLpro_number(?,?,?)}";//調用存儲過程
CallableStatementcstm=connection.prepareCall(sql);//實例化對象cstm
cstm.setInt(1,2);//存儲過程輸入參數
cstm.setInt(2,2);//存儲過程輸入參數
cstm.registerOutParameter(3,Types.INTEGER);//設置返回值類型即返回值
cstm.execute();//執行存儲過程
System.out.println(cstm.getInt(3));
cstm.close();
connection.close();
}
}

❺ java 怎麼調用mysql 存儲過程

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Types;
/*
* 對應的存儲過程
DROP PROCEDURE IF EXISTS `pro_num_user`;
delimiter ;;
CREATE PROCEDURE `pro_num_user`(IN user_name varchar(10) ,OUT count_num INT)
READS SQL DATA
BEGIN
SELECT COUNT(*) INTO count_num FROM tab_user WHERE 'name'=user_name;
END
;;
delimiter ;
*/
public class Test {
public static final String DRIVER_CLASS = "com.mysql.jdbc.Driver";
public static final String URL = "jdbc:mysql://127.0.0.1:3306/test";
public static final String USERNAME = "root";
public static final String PASSWORD = "acbee";
public static void main(String[] args) throws Exception {
test1();
test2();
}

public static void test1() throws Exception
{
Class.forName(DRIVER_CLASS);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
String sql = "{CALL pro_num_user(?,?)}"; //調用存儲過程
CallableStatement cstm = connection.prepareCall(sql); //實例化對象cstm
cstm.setString(1, "myd"); //存儲過程輸入參數
//cstm.setInt(2, 2); // 存儲過程輸入參數
cstm.registerOutParameter(2, Types.INTEGER); // 設置返回值類型 即返回值
cstm.execute(); // 執行存儲過程
System.out.println(cstm.getInt(2));
cstm.close();
connection.close();
}

public static void test2() throws Exception
{
Class.forName(DRIVER_CLASS);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
String sql = "{CALL pro_number(?,?,?)}"; //調用存儲過程
CallableStatement cstm = connection.prepareCall(sql); //實例化對象cstm
cstm.setInt(1, 2); // 存儲過程輸入參數
cstm.setInt(2, 2); // 存儲過程輸入參數
cstm.registerOutParameter(3, Types.INTEGER); // 設置返回值類型 即返回值
cstm.execute(); // 執行存儲過程
System.out.println(cstm.getInt(3));
cstm.close();
connection.close();

}
}

❻ jfinal 插入數據時,怎麼使用mysql的UUID

update test set id = UUID();MYSQL默認值設置UUID函數實際其函數除TIMESTAMP外都 MYSQL默認值目前能數或者CURRENTTIMESTAMP
需要實現UUID默認值功能則該表INSERT觸發器實現:

update test set id = UUID();
create TRIGGER test_insert
AFTER INSERT ON test
FOR each ROW
BEGIN
update test set id = UUID();
end;
般主鍵id都用AUTO_INCREMENTuuid()適合做主鍵

❼ 用Jfinal 獲取MySQL的Year類型,為什麼會帶上日期

jdbc 對於 mysql 的 year 類型處理比較詭異,這個在 jfinal 開發之初就發現過,所以不建議使用這個類型,可以使用 integer 類型代替它,省心省力。
最後補充一下,除了 blob、clob這兩種類型之外,jfinal 對所有jdbc返回的數據都未經過任何加工或者轉換,都是原封不動地轉交給了開發者,所以這種類型相關的問題,直接參考 jdbc 對相關資料庫欄位類型的官方文檔即可。
jfinal 不方便干預這個行為,因為不同的資料庫支持不同的數據類型,而且jdbc對其也有不同的轉換規則,開發者的習慣也不同,所以原封不動地將數據轉交給開發者是比較好的選擇。

❽ jfinal怎麼查詢存儲過程

您好,我在別的論壇也看到您的問題,很高興為您解答: 仔細跑了一遍,其實不用那麼復雜,你寫一個全局handler就OK了! 在nextHandler.handle(target, request, response, isHandled); 前處理request,後處理response!

熱點內容
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:296
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:577
磁存儲行業的前景 發布:2024-10-07 20:01:29 瀏覽:548
android對象序列化 發布:2024-10-07 20:01:28 瀏覽:760
安卓上面的微信如何恢復 發布:2024-10-07 19:57:45 瀏覽:52
510低配包括哪些配置 發布:2024-10-07 19:38:21 瀏覽:556
ping伺服器地址一直丟包 發布:2024-10-07 19:37:34 瀏覽:588
怎麼去除手機鎖屏密碼 發布:2024-10-07 18:56:05 瀏覽:67
怎樣注冊手機貼吧賬號密碼是什麼 發布:2024-10-07 18:55:17 瀏覽:365
埠安全配置屬於什麼 發布:2024-10-07 18:41:01 瀏覽:794