Heim Datenbank MySQL-Tutorial mysql存储过程学习及java调用存储过程

mysql存储过程学习及java调用存储过程

Jun 07, 2016 pm 03:02 PM
java mysql 存储 学习 调用 过程

存储过程虽然经常听到,但是我遇到的项目还没有使用过,比较郁闷,只能选择自己入门了,也顺便与大家分享,希望大家也能如愿,呵呵。 首先我用的环境是window xpmysql5,这个大家应该都有的,没有的安装一下吧。好装好了,不要忘记将mysql.exe的路径目录放入

存储过程虽然经常听到,但是我遇到的项目还没有使用过,比较郁闷,只能选择自己入门了,也顺便与大家分享,希望大家也能如愿,呵呵。

首先我用的环境是window xp+mysql5,这个大家应该都有的,没有的安装一下吧。好装好了,不要忘记将mysql.exe的路径目录放入环境变量path中,这样在cmd里输入以下命令就可以进入mysql的命令行模式:mysql -u root -p  -> mysql密码即可。

mysql> delimiter //
mysql> create procedure hello()
    -> begin
    -> select 'It is not a HelloWorld';
    -> end
    -> //
Query OK, 0 rows affected (0.01 sec)
Nach dem Login kopieren

delimiter // 是将结束符由默认的;换成了//,如果不这样select......语句就会导致上面的代码出错,不信你可以试一下哈,呵呵。接着在mysql中查询上面的过程hello():

mysql> call hello()//
+------------------------+
| It is not a HelloWorld |
+------------------------+
| It is not a HelloWorld |
+------------------------+
1 row in set (0.00 sec)
Nach dem Login kopieren

我们再来一个好点的入门小实例吧
mysql> DROP TABLE IF EXISTS `userinfo`.`mapping`;
    -> CREATE TABLE  `userinfo`.`mapping` (
    ->   `cFieldID` smallint(5) unsigned NOT NULL,
    ->   `cFieldName` varchar(30) NOT NULL,
    ->   PRIMARY KEY  (`cFieldID`)
    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    -> //
Query OK, 0 rows affected (0.14 sec)
Nach dem Login kopieren
想表中load值进空表  文件为:

filed.txt

1,MarketValue
2,P/L
3,EName
4,Nominal
5,Chg
Nach dem Login kopieren


mysql> load data infile 'd:\\field.txt' into table mapping
    -> fields terminated by ',' lines terminated by '\r\n' //
Query OK, 5 rows affected (0.02 sec)
Records: 5  Deleted: 0  Skipped: 0  Warnings: 0
mysql> select *from mapping//
+----------+-------------+
| cFieldID | cFieldName  |
+----------+-------------+
|        1 | MarketValue |
|        2 | P/L         |
|        3 | EName       |
|        4 | Nominal     |
|        5 | Chg         |
+----------+-------------+
5 rows in set (0.02 sec)
Nach dem Login kopieren
现在简历一个向mapping中插入一条记录并返回记录的总和

mysql> drop procedure if exists mappingProc;
    ->  create procedure mappingProc(out cnt int)
    ->  begin
    ->  declare maxid int;
    ->  select max(cFieldID)+1 into maxid from mapping;
    ->  insert into mapping(cFieldID,cFieldName) values(maxid,'hello');
    ->  select count(cFieldID) into cnt from mapping;
    ->  end
    ->  //
Nach dem Login kopieren
查找mappingProc():

mysql> call mappingProc(@a)//
mysql> select @a//
+------+
| @a   |
+------+
| 6    |
+------+
mysql> select * from mapping//
+----------+-------------+
| cFieldID | cFieldName  |
+----------+-------------+
|        1 | MarketValue |
|        2 | P/L                 |
|        3 | EName          |
|        4 | Nominal     |
|        5 | Chg         |
|        6 | hello       |
+----------+-------------+
Nach dem Login kopieren
下面是java代码用来调用MySQL的存储过程:

package kissJava.sql;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Types;
public class SQLUtils {
    String url = "jdbc:mysql://127.0.0.1:3306/userInfo"; 
    String userName = "root";
    String password = "zhui007";
    public Connection getConnection() {
        Connection con=null;
        try{
            DriverManager.registerDriver(new com.mysql.jdbc.Driver());
            con = DriverManager.getConnection(url, this.userName, this.password);
        }catch(SQLException sw){ 
         }
        return con;
    }
    public void testProc(){
        Connection conn = getConnection();
        CallableStatement stmt = null;
        try{
            stmt = conn.prepareCall("{call mappingProc(?)}");    
            stmt.registerOutParameter(1, Types.INTEGER);
            stmt.execute();
            int i= stmt.getInt(1);
            System.out.println("count = " + i);
        }catch(Exception e){
            System.out.println("hahad = "+e.toString());
        }finally{
            try {
                stmt.close();
                conn.close();
            }catch (Exception ex) {
                System.out.println("ex : "+ ex.getMessage());
            }
        }
    }
    public static void main(String[] args) {
        new SQLUtils().testProc();
    }
}
Nach dem Login kopieren


在到MySQL中查询可看到插入一条新的记录
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1658
14
PHP-Tutorial
1257
29
C#-Tutorial
1231
24
MySQL und PhpMyAdmin: Kernfunktionen und Funktionen MySQL und PhpMyAdmin: Kernfunktionen und Funktionen Apr 22, 2025 am 12:12 AM

MySQL und PhpMyAdmin sind leistungsstarke Datenbankverwaltungs -Tools. 1) MySQL wird verwendet, um Datenbanken und Tabellen zu erstellen und DML- und SQL -Abfragen auszuführen. 2) PHPMYADMIN bietet eine intuitive Schnittstelle für Datenbankverwaltung, Tabellenstrukturverwaltung, Datenoperationen und Benutzerberechtigungsverwaltung.

MySQL gegen andere Programmiersprachen: Ein Vergleich MySQL gegen andere Programmiersprachen: Ein Vergleich Apr 19, 2025 am 12:22 AM

Im Vergleich zu anderen Programmiersprachen wird MySQL hauptsächlich zum Speichern und Verwalten von Daten verwendet, während andere Sprachen wie Python, Java und C für die logische Verarbeitung und Anwendungsentwicklung verwendet werden. MySQL ist bekannt für seine hohe Leistung, Skalierbarkeit und plattformübergreifende Unterstützung, die für Datenverwaltungsanforderungen geeignet sind, während andere Sprachen in ihren jeweiligen Bereichen wie Datenanalysen, Unternehmensanwendungen und Systemprogramme Vorteile haben.

Erklären Sie den Zweck von Fremdschlüssel in MySQL. Erklären Sie den Zweck von Fremdschlüssel in MySQL. Apr 25, 2025 am 12:17 AM

In MySQL besteht die Funktion von Fremdschlüssel darin, die Beziehung zwischen Tabellen herzustellen und die Konsistenz und Integrität der Daten zu gewährleisten. Fremdeschlüssel behalten die Wirksamkeit von Daten durch Referenzintegritätsprüfungen und Kaskadierungsvorgänge bei. Achten Sie auf die Leistungsoptimierung und vermeiden Sie bei der Verwendung häufige Fehler.

Wie kann ich JavaScript -Objekte, die Funktionen und reguläre Ausdrücke in einer Datenbank und wiederherstellen, sicher speichern? Wie kann ich JavaScript -Objekte, die Funktionen und reguläre Ausdrücke in einer Datenbank und wiederherstellen, sicher speichern? Apr 19, 2025 pm 11:09 PM

Mit sicheren Funktionen und regulären Ausdrücken in JSON in der Front-End-Entwicklung ist JavaScript häufig erforderlich ...

Vergleichen und kontrastieren Sie MySQL und Mariadb. Vergleichen und kontrastieren Sie MySQL und Mariadb. Apr 26, 2025 am 12:08 AM

Der Hauptunterschied zwischen MySQL und Mariadb ist Leistung, Funktionalität und Lizenz: 1. MySQL wird von Oracle entwickelt und Mariadb ist seine Gabel. 2. Mariadb kann in Umgebungen mit hoher Last besser abschneiden. 3.MariADB bietet mehr Speichermotoren und Funktionen. 4.Mysql nimmt eine doppelte Lizenz an, und Mariadb ist vollständig Open Source. Die vorhandene Infrastruktur, Leistungsanforderungen, funktionale Anforderungen und Lizenzkosten sollten bei der Auswahl berücksichtigt werden.

SQL gegen MySQL: Klärung der Beziehung zwischen den beiden SQL gegen MySQL: Klärung der Beziehung zwischen den beiden Apr 24, 2025 am 12:02 AM

SQL ist eine Standardsprache für die Verwaltung von relationalen Datenbanken, während MySQL ein Datenbankverwaltungssystem ist, das SQL verwendet. SQL definiert Möglichkeiten, mit einer Datenbank zu interagieren, einschließlich CRUD -Operationen, während MySQL den SQL -Standard implementiert und zusätzliche Funktionen wie gespeicherte Prozeduren und Auslöser bereitstellt.

Was bedeutet 'Plattformunabhängigkeit' im Kontext von Java? Was bedeutet 'Plattformunabhängigkeit' im Kontext von Java? Apr 23, 2025 am 12:05 AM

Die Unabhängigkeit von Java's Platform bedeutet, dass der geschriebene Code auf jeder Plattform mit JVM ohne Änderung ausgeführt wird. 1) Java -Quellcode wird in Bytecode, 2) Bytecode kompiliert und von der JVM, 3) interpretiert und ausgeführt, 3) Die JVM bietet Speicherverwaltung und Müllsammlungsfunktionen, um sicherzustellen, dass das Programm auf verschiedenen Betriebssystemen ausgeführt wird.

Wie unterscheidet sich MySQL von Oracle? Wie unterscheidet sich MySQL von Oracle? Apr 22, 2025 pm 05:57 PM

MySQL eignet sich für schnelle Entwicklung und kleine und mittelgroße Anwendungen, während Oracle für große Unternehmen und hohe Verfügbarkeitsanforderungen geeignet ist. 1) MySQL ist Open Source und einfach zu bedienen, geeignet für Webanwendungen und kleine und mittelgroße Unternehmen. 2) Oracle ist mächtig und für große Unternehmen und Regierungsbehörden geeignet. 3) MySQL unterstützt eine Vielzahl von Speichermotoren, und Oracle bietet reichhaltige Funktionen auf Unternehmensebene.

See all articles