关于JDBC的一些笔记

来源:互联网 发布:淘宝购物津贴什么意思 编辑:程序博客网 时间:2024/06/06 17:30

关于JDBC的一些笔记 

(1)jdbc连接数据库:首先要找到相应的数据库驱动,指定连接的数据库

加载驱动:Class.forName(驱动名);获得连接:Connection con = DriverManager.getConnection("数据库连接","用户名","密码");

(2)执行SQL语句:Statement && PreparedStatement
写法:Statement stmt = con.createStatement(); 或PreparedStatement pstm = con.preparedStatement(sql);1>执行查询:返回结果ResultSet集 stmt.executeQuery(sql语句);2>执行增删改:返回影响行数 int count = stmt.executeUpdate(sql语句); 3>获得游标:rs.next();判断是否有下一个游标 返回一个boolean4>获得结果类型:rs.get类型名(字段名)操作完成,关闭顺序,后打开的先关闭。

(3)调用存储过程:CallableStatement csmt =con.prepareCall("{call p(?,?,?,?)}");
创建一个调用存储过程的对象,调用存储过程,存储过程名字叫p,他有4个参数

csmt.registerOutParament(3,Types.INTEGER);csmt.registerOutParament(4,Types.INTEGER);//设置输出数,并设置类型csmt.setInt(1,3);csmt.setInt(2,5);csmt.setInt(4,7);//设置参数的值csmt.execute();//执行操作csmt.getInt(3);csmt.getInt(4);//获取存储过程的输出值csmt.close();//关闭执行结果


(4)批处理Batch

Statement stmt = con.createStatement();stmt.addBatch(SQL语句);stmt.addBatch(SQL语句);stmt.addBatch(SQL语句);stmt.addBatch(SQL语句);stmt.executeBatch();
或:

PreparedStatement pstm = null;pstm = con.prepareStatement("insert into aa values(?,?,?)");pstm.setInt(1, 12);pstm.setString(2,"李五A");pstm.setString(3, "中文A");pstm.addBatch();pstm.setInt(1, 22);pstm.setString(2,"李五B");pstm.setString(3, "中文B");pstm.addBatch();pstm.setInt(1, 32);pstm.setString(2,"李五C");pstm.setString(3, "中文C");pstm.addBatch(); //批量执行上面3条语句.int [] counts = statement.executeBatch();   //Commit it--写入数据库connection.commit();


0 0
原创粉丝点击