jdbc java database connectivity java数据库联接技术
准备 jar包
1.注册驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
2.获取连接对象
String url = "jdbc:oracle:thin:@localhost:1521:orcl";
数据库类型 地址 端口号 库名
Connection conn = DriverManager.getConnection(url, "scott", "tiger");
3.获取执行sql对象
Statement st = conn.createStatement();
int st.executeQuery(sql);//查询
ResultSet st.executeUpdate(sql);//增删改
boolean st.execute();
4.执行遍历结果集
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
int deptno = rs.getInt("deptno");
String dname = rs.getString("dname");
System.out.println(deptno + "--" + dname);
}
5.关闭连接
st.close();
conn.close();
功能分析
1.登入 学号 姓名
2.查看学生信息及其选课信息
3.老师任课信息
Statement
PrepardStatement 预编译 性能
支持站位符 更安全
sql注入,将一些sql通过拼接的形式 注入到原sql
借助预处理对象 解决sql 注入问题
?:占位符 ps.setXxx(第一个问号,值)
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, empno);
ps.setString(2,"%"+ename+"%");
批量处理
mobiles
id moblile state
1 13333333 0可用1预估2在用3停机保号4停复机
...
1千条数据
jdbc控制事务
事务 数据库操作数据的最小单元
ACID
Connection setAutoCommit(true/false);//是否自动提交
commit();//提交
rollback();//回滚
批量处理
100条数据 插入
第99条失败