jdbc执⾏oracle命令,JDBC操作oracle JDBC (java DataBase Connection)java数据库连接
使⽤jdbc使⽤java.sql包下的常⽤的⼏个接⼝:
Connection ⽤于获得数据库的连接
Statement ⽤于对数据库发送并且执⾏命令
ResultSet ⽤于接收查询返回的结果集,该接⼝中定义了对于结果
集遍历和过去的⼀些⽅法
PreparedStatement
连接不同的数据库,要去下载数据库⼚商根据JDBCAPI实现的代码,也
称之为驱动包(.jar)
使⽤java连接数据库的步骤
1.加载驱动
Class.forName("驱动类") 动态加载驱动类
2.获得连接,通过Connection接⼝接收DriverManager类的getConnection
⽅法产⽣的连接实例,该⽅法中需要指定三个参数
3.通过Statement来执⾏数据库命令,通过connection来创建并且
通过statement对象的execute⽅法来执⾏
4.通过ResultSet接收查询返回的结果集
查询使⽤executeQuery()⽅法,该⽅法返回⼀个ResultSet
5.然后通过rs结果集的.next()⽅法判断是否存在可遍历的数据
存在结果就遍历这条数据,在循环内通过rs.get()⽅法得到⼀条数据
中的每⼀列的值,oracle中列是什么类型就⽤对应的getjava类型
的⽅法去得到这⼀列,括号中写列名或者以查询的列下标为单位
6.遍历结束后,依次关闭rs,stmt,con
PreparedStatement(预编译该接⼝是Statement接⼝的⼦接⼝,
但是和Statement相⽐,这个接⼝性能更好
1.Statement在每次执⾏时需要放⼊sql语句,会先编译并且执⾏
⽽PreparedStatement会在创建时就先放⼊sql语句,预编译
预编译会先编译好语句缓存在数据库中,这样后⾯重复使⽤这条语句
时⽆需重新编译,直接可以执⾏
2.Statement不安全,拼接字符串条件时容易被sql注⼊攻击,⽽
预编译不是通过字符串拼接,⽽是占位符,⽆法被注⼊
3.Statemnt执⾏查询效率较⾼,PreparedStatement批量处理增删改
效率更好
在预编译中,sql语句中的数据可以使⽤?来替代,⽆需拼接.在执⾏
之前需要给sql语句中的每个占位符设置值,以实际数据库类型对应的
java类型的setXX⽅法来设置,⽅法需要指定两个参数,第⼀个是
占位符的下标,第⼆个是设置的数据,下标从1开始
题⽬
1.写⼀个类,类中6个⽅法,对应着增删改查和菜单,类中声明三个全局的
接⼝Connection,PreparedStatement,ResultSet
进⼊菜单选择1.添加员⼯ 2.修改员⼯ 3.删除员⼯ 4.查询全部员⼯
5.查询单个员⼯(1.根据id查询 2.根据名字模糊查询)
where ename like ?
pst.setString(1,"%"+name+"%")
resultset 遍历
(2.修改员⼯)进⼊先调⽤查询全部员⼯的⽅法,然后输⼊员⼯编号,修改,如果这个员⼯不存在就提⽰重新输⼊,存在(改名字,⼊职⽇期)
(3.删除员⼯)进⼊先调⽤查询全部员⼯的⽅法。然后输⼊id删除
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论