Mysql JDBC/mybastic/Jfnial调用储存函数或者储存过程(我是小白车)

/*
从前端输入一个 ID(简称:一串字符),后面有一个按钮。通过JS的获取 ID,然后在JS中ajax发送请求,映射到 java 里面。
/
/

①前端大概就是这种格式
在这里插入图片描述
输入行有自己的名字,按钮也有自己的名字。这是前端设置的模块
*/

/*
JS中, (jquery的知识点) 存储过程StoredProcedure
①botton:按键名字 在 第一行代码$(" .botton “)上需要有一个点:是bottton定义在class中,vaule也是一样在获取时候都需要 加 点( . )。
②vaule :输入框的ID
③ .val():在jquery上有专门的解释,我的理解是获取文本的值
④ $.post(”/query" :其中/query是映射名字,到时候需要到controller层查找对应的映射。

⑤ id:$(".vaule").val() :将文本的值付给 id,这里的 id 在mode层上有定义且set、get 了。我这里传入的 我需要的 id值,当然也可传其他的值,但是其他值也应该在mode上定义且set、get 过。
⑥ function(返回的值),这里的值可多个,主要还是在controller层中,自己要多少个的返回值。返回值是JSON格式,所以在最后面输入了JSON。至于返回值.msg,主要是jdbc和mybastic在controller上用了发送msg格式。
⑦else 后面也就是ajax请求,建议在jquery里面看对应的ajax资料。
/***********JS 代码储存函数和存储过程(不同在post上的 映射名字不同)****************/

$(".botton").on("click",function(){
    if($(".vaule").val()== ''){                     /*获取前端输入的ID,*/
        layer.msg("请输入搜索的ID");
    }else{
        $.post("/query",{
           id:$(".vaule").val()
            },
            function(Area){
                layer.msg("Area:"+Area.msg, {
                   });
            },"JSON");
    }
});

/
/
**JDBC 调用 储存过程(param) 和 存储函数(paramfunction) ***/
①在mode层上定义了一个class类(发送消息)这里叫pagemsg。类中有 状态: 整型code、消息:字符型msg、数据:型data、总数:long型count。
②在mode层上定义前端需要展示的类,这里叫datavalue:datavalue类 包括 例如 ID school等等。
controller层上:

public pagemsg JdbcQuery(datavalue entity ){
service.QueryID ( entity.getId () ); //服务层需要进行服务层提供了Q
pagemsg pro =new pagemsg ();
pro.setmsg(service.QueryID ( entity.getId () ));
}

服务层定义接口;
String QueryID(String id);
服务层class:
服务层class:这里需要返回一个dao.QueryID (id)

dao层接口:
String QueryID(String id);
dao层函数:

@Override
public String QuetyID(String id) throws SQLException {
    JdbcUtils jdbcUtils = new JdbcUtils ();
    Connection connection = null;
    ResultSet res = null;

    String areacode = null;
    try {
        // 获取数据库连接
        connection = jdbcUtils.getConnection ();
        // 创建CallableStatement对象
        String sql = "{call param(?,?)};";
        CallableStatement statement = connection.prepareCall ( sql );
        // 设置输入参数、输出
        statement.setString ( 1, id );
        statement.registerOutParameter ( 2, Types.VARCHAR );
        // 执行调用存储过程,并获取结果集
        res = statement.executeQuery ();

        // 获取列值
        // areacode = res.getString ( "sareacode" );

        areacode = statement.getString ( 2 );
        // 输出列值
        System.out.println ( "   地区code:" + areacode  );

    } catch (SQLException sqle) {
        sqle.printStackTrace ();
    }


    return areacode;
}

你可能感兴趣的:(Mysql JDBC/mybastic/Jfnial调用储存函数或者储存过程(我是小白车))