Java - 数据库(mysql - 4)

来源:互联网 发布:腾讯dns优化器手机版 编辑:程序博客网 时间:2024/06/11 14:51

07.20笔记

  • 存储过程

  • 无参

    delimiter //
    create procedure p1()
    begin
    select * from tablename;
    end //

  • 有参

    delimiter
    create procedure p2(n int)
    begin
    select * from tablename where age > n;
    end //
  • while

    delimiter createprocedurep3(nint,name1varchar(10))begindeclareiint;seti=1;whilei<=ndoinsertintostu(name,age)values(concat(name1,i),n);seti=i+1;endwhile;end

  • mysql中调用

    call p1();
    call p2(50);
    call p3(20, “jack”);

  • 在java中调用

    public void add(String name, int age) throws Exception{
    // 首先链接数据库
    Connection conn = mysqlConnection();
    // CallableStatement类用来执行mysql的存储过程
    CallableStatement cs = conn.prepareCall(“{call p5(?, ?)}”);
    cs.setString(1, name);
    cs.setInt(2, age);
    int res = cs.executeUpdate();
    if (res > 0) {
    System.out.println(“加入成功”);
    } else {
    System.out.println(“存储失败”);
    }
    }

    public void list() throws Exception{    // 首先链接数据库    Connection conn = mysqlConnection();    // CallableStatement类用来执行mysql的存储过程    CallableStatement cs = conn.prepareCall("{call p1()}");    ResultSet rs = cs.executeQuery();    while (rs.next()) {        System.out.println(rs.getInt(1) + rs.getSting(2) + rs.getInt(3));    }}
  • 事务(所有的操作要么同时成功,要么同时失败),事务的四大特征:

    • 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不可执行.
    • 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致.
    • 隔离性(Isolation):事务的执行不受其他事务的干扰,事务执行的中间结果对其他事务必须是透明的.
    • 持久性(Durability):事务完成之后,它对于系统的影响是永久性的.搜索该修改即使出现系统故障也将一直保持.
  • 事务的用法

    conn.setAutoCommit(false); 首先关闭自动提交
    if (返回 > 0 && 返回1 > 0) {
    conn.commit();
    } else {
    conn.rollback();
    }

0 0