• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    mysql創造存儲過程并通過java程序調用該存儲過程

    來源:懂視網 責編:小采 時間:2020-11-09 13:31:52
    文檔

    mysql創造存儲過程并通過java程序調用該存儲過程

    mysql創造存儲過程并通過java程序調用該存儲過程:mysql創建 存儲過程 并通過java程序調用該存儲過程 create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,1234); insert into users_ning values(id,1234
    推薦度:
    導讀mysql創造存儲過程并通過java程序調用該存儲過程:mysql創建 存儲過程 并通過java程序調用該存儲過程 create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,1234); insert into users_ning values(id,1234

    mysql創建 存儲過程 并通過java程序調用該存儲過程 create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,1234); insert into users_ning values(id,12345); insert into users_ning values(id,12); insert in

    mysql創建 存儲過程 并通過java程序調用該存儲過程
    create table users_ning(id primary key auto_increment,pwd int);
     insert into users_ning values(id,1234);
     insert into users_ning values(id,12345);
     insert into users_ning values(id,12);
     insert into users_ning values(id,123);
    
    
     CREATE PROCEDURE login_ning(IN p_id int,IN p_pwd int,OUT flag int)
    BEGIN
    DECLARE	v_pwd int;
     select pwd INTO v_pwd from users_ning
     where id = p_id;
     if v_pwd = p_pwd then
     
    set flag:=1;
    
     else 
    select v_pwd;
     set flag := 0;
     end if;
    END 
    
    
    
    
    package demo20130528;
    import java.sql.*;
    
    import demo20130526.DBUtils;
    
    /**
     * 測試JDBC API調用過程
     * @author tarena
     *
     */
    public class ProcedureDemo2 {
    
     /**
     * @param args
     * @throws Exception 
     */
     public static void main(String[] args) throws Exception {
     System.out.println(login(123, 1234));
     }
     /**
     * 調用過程,實現登錄功能
     * @param id 考生id
     * @param pwd 考試密碼
     * @return if成功:1; if密碼錯:0; if沒有用戶:-1
     * @throws Exception 
     */
     public static int login(int id, int pwd) throws Exception{
     int flag = -1;
     String sql = "{call login_ning(?,?,?)}";//*****
     Connection conn = DBUtils.getConnMySQL();
     CallableStatement stmt = null;
     try{
     stmt = conn.prepareCall(sql);
     //傳遞輸入參數
     stmt.setInt(1, id);
     stmt.setInt(2, pwd);
     //注冊
    輸出參數,第三個占位符的數據類型是整型 stmt.registerOutParameter(3, Types.INTEGER);//***** //執行過程 stmt.execute(); //獲得過程執行后的輸出參數 flag = stmt.getInt(3);//***** }catch(Exception e){ e.printStackTrace(); }finally{ stmt.close(); DBUtils.dbClose(); } return flag; } }
    package demo20130526;
    
    
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.sql.Connection;
    import java.sql.DatabaseMetaData;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.ResultSetMetaData;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    
    public class DBUtils {
    	static Connection conn = null;
    	static PreparedStatement stmt = null;
    	static ResultSet rs = null;
    	static Statement st = null;
    	static String username = null;
    	static String password = null;
    	static String url = null;
    	static String driverName = null;
    
    
    	public static Connection getConnMySQL() throws Exception {// 連接mysql 返回conn
    	getUrlUserNamePassWordClassNameMySQL();
    	conn = DriverManager.getConnection(url, username, password);
    	// conn.setAutoCommit(false);設置自動提交為false
    	return conn;
    	}
    
    
    	public static Connection getConnORCALE() throws Exception {// 連接orcale
    	// 返回conn
    	getUrlUserNamePassWordClassNameORCALE();
    	conn = DriverManager.getConnection(url, username, password);
    	// conn.setAutoCommit(false);
    	return conn;
    	}
    
    
    	private static void getUrlUserNamePassWordClassNameORCALE()
    	throws Exception {
    	// 從資源文件 獲取 orcale的username password url等信息
    	Properties pro = new Properties();
    	File path = new File("src/all.properties");
    	pro.load(new FileInputStream(path));
    	String paths = pro.getProperty("filepath");
    	File file = new File(paths + "orcale.properties");
    	getFromProperties(file);
    
    
    	}
    
    
    	public static void getUrlUserNamePassWordClassNameMySQL() throws Exception {
    	// 從資源文件 獲取mysql的username password url等信息
    	Properties pro = new Properties();
    	File path = new File("src/all.properties");
    	pro.load(new FileInputStream(path));
    	String paths = pro.getProperty("filepath");
    	File file = new File(paths + "mysql.properties");
    	getFromProperties(file);
    	}
    
    
    	public static void getFromProperties(File file) throws IOException,
    	FileNotFoundException, ClassNotFoundException {// 讀資源文件的內容
    	Properties pro = new Properties();
    	pro.load(new FileInputStream(file));
    	username = pro.getProperty("username");
    	password = pro.getProperty("password");
    	url = pro.getProperty("url");
    	driverName = pro.getProperty("driverName");
    	Class.forName(driverName);
    	}
    
    
    	public static void dbClose() throws Exception {// 關閉所有
    	if (rs != null)
    	rs.close();
    	if (st != null)
    	st.close();
    	if (stmt != null)
    	stmt.close();
    	if (conn != null)
    	conn.close();
    	}
    
    
    	public static ResultSet getById(String tableName, int id) throws Exception {// 用id來查詢結果
    	st = conn.createStatement();
    	rs = st.executeQuery("select * from " + tableName + "  where id=" + id
    	+ " ");
    	return rs;
    	}
    
    
    	public static ResultSet getByAll(String sql, Object... obj)
    	throws Exception {// 用關鍵字 實現查詢 關鍵字額可以任意
    	sql = sql.replaceAll(";", "");
    	sql = sql.trim();
    	stmt = conn.prepareStatement(sql);
    	String[] strs = sql.split("\\?");// 將sql 以? 非開
    	int num = strs.length;// 得到?的個數
    	int size = obj.length;
    	for (int i = 1; i <= size; i++) {
    	stmt.setObject(i, obj[i - 1]);// 數組下標從0開始
    	}
    	if (size < num) {
    	for (int k = size + 1; k <= num; k++) {
    	stmt.setObject(k, null);// 數組下標從0開始
    	}
    	}
    	rs = stmt.executeQuery();
    	return rs;
    	}
    
    
    	public static void doInsert(String sql) throws SQLException {// 傳入 sql 語句
    	// 實現插入操作
    	st = conn.createStatement();
    	st.execute(sql);
    	}
    
    
    	public static void doInsert(String sql, Object... args) throws Exception {// 傳入參數
    	// 利用
    	// PreparedStatement
    	// 實現插入
    	// 傳入的參數是任意多個 因為有Object 。。args
    	int size = args.length;// 獲得 Object ...obj 傳過來的參數的個數
    	stmt = conn.prepareStatement(sql);
    	for (int i = 1; i <= size; i++) {
    	stmt.setObject(i, args[i - 1]);// 數組下標從0開始
    	}
    	stmt.execute();
    	}
    
    
    	public static int doUpdate(String sql) throws Exception {// 傳入 sql 實現更新操作
    	st = conn.createStatement();
    	int num = st.executeUpdate(sql);
    	return num;
    	}
    
    
    	public static void doUpdate(String sql, Object... obj) throws Exception {
    	// 傳入參數 利用 PreparedStatement實現更新
    	// 傳入的參數是任意多個 因為有Object 。。args
    	int size = obj.length;// 獲得 Object ...obj 傳過來的參數的個數
    	stmt = conn.prepareStatement(sql);
    	for (int i = 1; i <= size; i++) {
    	stmt.setObject(i, obj[i - 1]);// 數組下標從0開始
    	}
    	stmt.executeUpdate(sql);
    	}
    
    
    	public static boolean doDeleteById(String tableName, int id)
    	throws SQLException {// 刪除記錄 by id
    	st = conn.createStatement();
    	boolean b = st.execute("delete from " + tableName + " where id=" + id
    	+ "");
    	return b;
    	}
    
    
    	public static boolean doDeleteByAll(String sql, Object... args)
    	throws SQLException {// 刪除記錄 可以按任何關鍵字
    	sql = sql.replaceAll(";", "");
    	sql = sql.trim();
    	stmt = conn.prepareStatement(sql);
    	String[] strs = sql.split("\\?");// 將sql 以? 非開
    	int num = strs.length;// 得到?的個數
    	int size = args.length;
    	for (int i = 1; i <= size; i++) {
    	stmt.setObject(i, args[i - 1]);// 數組下標從0開始
    	}
    	if (size < num) {
    	for (int k = size + 1; k <= num; k++) {
    	stmt.setObject(k, null);// 數組下標從0開始
    	}
    	}
    	boolean b = stmt.execute();
    	return b;
    	}
    
    
    	public static void getMetaDate() throws Exception {// 獲取數據庫元素數據
    	conn = DBUtils.getConnORCALE();
    	DatabaseMetaData dmd = conn.getMetaData();
    	System.out.println(dmd.getDatabaseMajorVersion());
    	System.out.println(dmd.getDatabaseProductName());
    	System.out.println(dmd.getDatabaseProductVersion());
    	System.out.println(dmd.getDatabaseMinorVersion());
    	}
    
    
    	public static String[] getColumnNamesFromMySQL(String sql) throws Exception {
    	conn = DBUtils.getConnMySQL();
    	return getColumnName(sql);
    
    
    	}
    
    
    	public static String[] getColumnNamesFromOrcale(String sql)
    	throws Exception {
    	conn = DBUtils.getConnORCALE();
    	return getColumnName(sql);
    
    
    	}
    
    
    	private static String[] getColumnName(String sql) throws Exception {// 返回表中所有的列名
    	conn = DBUtils.getConnORCALE();
    	st = conn.createStatement();
    	rs = st.executeQuery(sql);
    	ResultSetMetaData rsmd = rs.getMetaData();
    	int num = rsmd.getColumnCount();
    	System.out.println("ColumnCount=" + num);
    	String[] strs = new String[num];
    	// 顯示列名
    	for (int i = 1; i <= rsmd.getColumnCount(); i++) {
    	String str = rsmd.getColumnName(i);
    	strs[i - 1] = str;
    	System.out.print(str + "\t");
    	}
    	return strs;
    	}
    
    
    	public static void getColumnDataFromMySQL(String sql) throws Exception {// 
    輸出表中的數據 conn = DBUtils.getConnMySQL(); getColumnData(sql); } public static void getColumnDataFromORCALEL(String sql) throws Exception {// 輸出表中的數據 conn = DBUtils.getConnORCALE(); getColumnData(sql); } public static void getColumnData(String sql) throws Exception {// 輸出表中的數據 st = conn.createStatement(); rs = st.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); System.out .println("\n------------------------------------------------------------------------------------------------------------------------"); while (rs.next()) { for (int i = 1; i <= rsmd.getColumnCount(); i++) { System.out.print(rs.getString(i) + "\t"); } System.out.println(); } System.out .println("------------------------------------------------------------------------------------------------------------------------"); } public static void getTableDataFromOrcale(String sql) throws Exception {// 輸出表的列名 // 和表中的全部數據 conn = DBUtils.getConnORCALE(); getTableData(sql); } public static void getTableDataFromMysql(String sql) throws Exception {// 輸出表的列名 // 和表中的全部數據 conn = DBUtils.getConnMySQL(); getTableData(sql); } private static void getTableData(String sql) throws SQLException { // getTableDataFromMysql // getTableDataFromOrcale st = conn.createStatement(); rs = st.executeQuery(sql); ResultSetMetaData rsmd = rs.getMetaData(); int num = rsmd.getColumnCount(); System.out.println("ColumnCount=" + num); String[] strs = new String[num]; // 顯示列名 for (int i = 1; i <= rsmd.getColumnCount(); i++) { String str = rsmd.getColumnName(i); strs[i - 1] = str; System.out.print(str + "\t"); } System.out .println("\n------------------------------------------------------------------------------------------------------------------------"); while (rs.next()) { for (int i = 1; i <= rsmd.getColumnCount(); i++) { System.out.print(rs.getString(i) + "\t"); } System.out.println(); } System.out .println("------------------------------------------------------------------------------------------------------------------------"); } }

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    mysql創造存儲過程并通過java程序調用該存儲過程

    mysql創造存儲過程并通過java程序調用該存儲過程:mysql創建 存儲過程 并通過java程序調用該存儲過程 create table users_ning(id primary key auto_increment,pwd int); insert into users_ning values(id,1234); insert into users_ning values(id,1234
    推薦度:
    標簽: 過程 程序 存儲
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国99精品无码一区二区三区 | 久久中文精品无码中文字幕| 四虎成人精品无码| 精品亚洲欧美中文字幕在线看| 99热国内精品| 人妻少妇偷人精品无码| 久久99精品久久久久久水蜜桃| 免费91麻豆精品国产自产在线观看| 精品人妻码一区二区三区| 亚洲精品无码MV在线观看| 久草热久草热线频97精品| 91无码人妻精品一区二区三区L| 99久久精品毛片免费播放| 久久精品人人做人人爽97| 亚洲欧美日韩国产一区二区三区精品 | 亚洲Av无码精品色午夜 | 国产精品va在线观看无码| 国产精品亚洲专区在线观看| 日产欧美国产日韩精品| 中文字幕在线精品视频入口一区| 免费精品精品国产欧美在线欧美高清免费一级在线 | 国产伦精品一区二区三区| 四虎国产精品永久在线| 亚洲αv在线精品糸列 | 99热亚洲精品6码| 欧美日韩在线亚洲国产精品| 国产精品无套内射迪丽热巴| 亚洲av午夜福利精品一区| 亚洲性日韩精品国产一区二区| 欧美人与性动交α欧美精品| 久久国产成人精品国产成人亚洲| 国产精品九九久久免费视频| 国产精品最新国产精品第十页 | 99re这里只有精品6| 国产麻豆一精品一AV一免费| 国产日韩精品中文字无码| 精品人妻久久久久久888| 国产精品国产亚洲精品看不卡| 国产精品第12页| 九九在线精品视频专区| 亚洲视频精品在线|