package com.aaa.test;
/**
*
* 应用场景 用户信息填写采用分布式的 一条用户的数据填入 通过几页来实现。
* 首先是通过 insert 添加用户部分信息 之后需要获取主键 ,通过主键id update set 添加用户信息。
*
*语法?
*1.在insert SQL语句之后, ,statement.return_generated_keys
*
*2.ps.getGeneratedKeys();获得一个set集合 通过 while循环 取数据
* rs.getint(); int 对应主键id的数据类型!
*
*/
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import org.junit.Test;
import com.mysql.jdbc.Statement;
public class GetKeyDemo {
@Test
public void KeyDemo() throws Exception {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql:///qy66?characterEncoding=utf-8", "root","root");
PreparedStatement ps = con.prepareStatement( //通过 statement. return generated keys
"insert into bank (name) values ('哈哈')",Statement.RETURN_GENERATED_KEYS
);
int i = ps.executeUpdate();
// ps.getGenerateKeys();获取主键 返回一个 set集合。
ResultSet rs = ps.getGeneratedKeys();
while (rs.next()) {
int j = rs.getInt(1);
System.out.println(j);
}
ps=con.prepareStatement("update bank set money=66666 where id=3");
ps.executeUpdate();
ps=con.prepareStatement("update bank set money=88888 where id=4");
ps.executeUpdate();
ps=con.prepareStatement("update bank set money=99999 where id=5");
ps.executeUpdate();
rs.close();
ps.close();
con.close();
}
}