MySQLÖÐʹÓô洢¹ý³Ì(ÕûÀí)
MySQLÖÐʹÓô洢¹ý³Ì
ʹÓÃCallableStatementsÖ´Ðд洢¹ý³Ì
mysql°æ±¾:5.0
Connector/JµÄ°æ±¾:3.1.1ÒÔÉÏ(java.sql.CallableStatement½Ó¿ÚÒÑÍêȫʵÏÖ,³ýÁËgetParameterMetaData()·½·¨)
MySQLµÄ´æ´¢¹ý³ÌÓï·¨ÔÚMySQL²Î¿¼ÊÖ²áµÄ"´æ´¢¹ý³ÌºÍº¯Êý"Ò»ÕÂ.
http://www.mysql.com/doc/en/Stored_Procedures.html
ÏÂÃæÊÇÒ»¸ö´æ´¢¹ý³Ì,·µ»ØÒ»¸öinOutParamÔö1ºóµÄÖµ,ÒÔResultSetÐÎʽ´«ÈëÒ»¸ö×Ö·û´®²ÎÊýinputParam.
CREATE PROCEDURE demoSp(IN inputParam VARCHAR(255), INOUT inOutParam INT)
BEGIN
DECLARE z INT;
SET z = inOutParam + 1;
SET inOutParam = z;
SELECT inputParam;
SELECT CONCAT('zyxw', inputParam);
END
Ҫͨ¹ýconnector/JʹÓÃdemoSpÕâ¸ö´æ´¢¹ý³Ì,Òª¾¹ý¼¸¸ö²½Öè:
1.Connection.prepareCall()
import java.sql.CallableStatement;
...
//
// Prepare a call to the stored procedure 'demoSp'
// with two parameters
//
// Notice the use of JDBC-escape syntax ({call ...})
//
CallableStatement cStmt = conn.prepareCall("{call demoSp(?, ?)}");
cStmt.setString(1, "abcdefg");
Connection.prepareCall()·½·¨·Ç³£ÏûºÄ×ÊÔ´,ÒòΪjdbcÇý¶¯Í¨¹ýÔªÊý¾Ý(metadata)µÄ»ñȡ֧³ÖÊä³ö²ÎÊý.³öÓÚÖ´ÐÐЧÂʵĿ¼ÂÇ,Ó¦¸Ã¾¡¿ÉÄܼõÉÙ²»±ØÒªµÄprepareCallµ÷ÓÃ,ÖØÓÃCallableStatement¶ÔÏó.
2.×¢²áÊä³ö²ÎÊý(Èç¹ûÓеϰ)
ÒªµÃµ½Êä³ö²ÎÊýµÄÖµ(´´½¨´æ´¢¹ý³ÌʱÉèÖõÄOUTºÍINOUT),JDBCÒªÇóÕâЩ²ÎÊý±ØÐëÒªÔÚÊý¾Ý¿â²Ù×÷Ö´ÐÐ֮ǰͨ¹ýregisterOutputPrameter()·½·¨ÉèÖÃ.
import java.sql.Types;
...
//
// ÏÂÃæ¸ø³öÁËÉèÖÃÊä³ö²ÎÊýµÄ¼¸¸ö·½·¨
//
// ×¢²áµÚ¶þ¸ö²ÎÊýΪÊä³ö²ÎÊý
//
cStmt.registerOutParameter(2);
//
// ×¢²áµÚ¶þ¸ö²ÎÊýΪÊä³ö²ÎÊý,É趨getObjectµÃµ½µÄ·µ»ØÖµµÄÀàÐÍΪÕûÐÍ
//
cStmt.registerOutParameter(2, Types.INTEGER);
//
// ×¢²áÃûΪ"inOutParam"µÄ²ÎÊýΪÊä³ö²ÎÊý
//
cStmt.registerOutParameter("inOutParam");
//
// ×¢²áÃûΪ"inOutParam"µÄ²ÎÊýΪÊä³ö²ÎÊý,É趨getObjec
Ïà¹ØÎĵµ£º
Æô¶¯£ºnet start mySql;
¡¡¡¡½øÈ룺mysql -u root -p/mysql -h localhost -u root -p databaseName;
¡¡¡¡ÁгöÊý¾Ý¿â£ºshow databases;
¡¡¡¡Ñ¡ÔñÊý¾Ý¿â£ºuse databaseName;
¡¡¡¡Áгö±í¸ñ£ºshow tables£»
¡¡¡¡ÏÔʾ±í¸ñÁеÄÊôÐÔ£ºshow columns from tableName£»
¡¡¡¡½¨Á¢Êý¾Ý¿â£ºsource fileName.txt;
¡¡¡¡Æ¥Åä× ......
һֱʹÓÃMysql£¬×î½ü²ÅÁ˽⵽MysqlÖ§³ÖÁËTransaction¡£ÀÏÁË£¬¸ú²»ÉÙ³±Á÷ÁË¡£
ÄǾͰÑÔÀ´µÄÓ¦ÓøijÉBased On TransactionµÄ°É¡£
½«½¨±íÓï¾ä¸Ä³ÉEngine=InnoDB£¬ºÃÏñ»¹ÊDz»ÐУ¬Ã»ÓÐÏëÏóÖÐÄÇô¼òµ¥¡£
²éÒ»²é£¬Å¶£¬·¢ÏÖXAMPP°²×°µÄMysql»¹ÒªÐÞ¸ÄconfÎļþ£º
XAMPP from Apache Friends is a collection of free open s ......
integer »òÕß int
int »òÕß java.lang.Integer
INTEGER
4 ×Ö½Ú
long
long Long
BIGINT
8 ×Ö½Ú
short
short Short
SMALLINT
2 ×Ö½Ú
byte
byte Byte
TINYINT
1 ×Ö½Ú
float
float Float
FLOAT
4 ×Ö½Ú
double
double Double
DOUBLE
8 ×Ö½Ú
b ......
ÏÂÎç¿´ÁËÒ»¶ÎPHP100µÄÊÓÆµ¡£
Ò²ËãÓеãÊÕ»ñ¡£
ÀïÃæµÄÒ»¶Î×ÔдµÄfindallµÄSQLº¯Êý£º
public function findall($table) {
$this->query("SELECT * from $table");
}
ÔÀ´Ö»ÊÇÕâô¼òµ¥£¬¸Õ»¹ÔÚ˼¿¼¡£
ʹÓÃÁËTAB¼üÉÏÃæµÄ¶ÙºÅÀ´ÐÞÊÎMYSQLÀïµÄ×Ö¶ÎÃû£¬È磺
UPDATE tablename SET `fieldname`='values' wh ......
ÔÚ֮ǰµÄÎÄÕÂÀÎÒÒѾÌá¹ýÈçºÎ½â¾öJSPÖÐÂÒÂëÎÊÌ⣨½â¾ötomcatÏÂÖÐÎÄÂÒÂëÎÊÌâ £©£¬ÆäÖÐÒ²Ïêϸ½â˵ÁËMYSQLÂÒÂëÎÊÌ⣬ÏàÐÅͨ¹ýÀïÃæµÄ°ì·¨£¬¿Ï¶¨¶¼ÒѾ½â¾öÁËJSPÀïµÄÂÒÂëÎÊÌ⣬²»¹ý»¹ÊÇÓÐЩÈ˵ÄMYSQLÂÒÂëÎÊÌâûÓеõ½½â¾ö£¬°üÀ¨ÎÒ×Ô¼º£¬ËùÒÔÓÖÕÒÁËһЩ×ÊÁÏ£¬Ï£ÍûÕâ´ÎÄÜÍêÈ«½â¾öMYSQLÊý¾Ý¿âµÄÂÒÂëÎÊÌâ¡£
......