JDBC: java database connectivity java 与数据 库的连接
步骤:
1.加载驱动 (选择数据库) 驱动jar包是由数据库生产厂商提供 ,数据库的安装目录下寻找
2.建立连接 (与数据库建立连接)
3.封装sql
4.封装处理块(静态处理块,预处理块) (发送执行sql)
5.接口结果集并处理
6.关闭资源
1.加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver")
2.建立连接 (与数据库建立连接)
Connection conn = Connection
("jdbc:oracle:thin:@localhost:1521:XE","SCOTT","TIGER");
3.封装sql
String sql = "select * from dept";
4.封装处理块(静态处理块,预处理块) (发送执行sql)
Statement state = ateStatement();
5.接口结果集并处理
ResultSet result = uteQuery(sql);
处理
()){int deptno = Int(1);String dname = String(2);String loc = String(3);System.out.println(deptno+"-->"+dname+"-->"+loc);
6.关闭资源
public class JDBCDemo02 {public static void main(String[] args) {Properties pro = new Properties();//加载try {pro.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties"));} catch (IOException e) {e.printStackTrace();}//1.加载驱动try {Class.Property("driver"));} catch (ClassNotFoundException e) {e.printStackTrace();}Connection conn = null;Statement state = null;ResultSet result = null;try {//2.获取连接 conn = Property("url"),Property("username"),Property("password"));//3.准备sql String sql = "select empno,ename,sal from emp where deptno = 30";//4.封装处理块 预处理块state = ateStatement();//5.发送并执行result = uteQuery(sql);//6.操作数据(){System.out.Object("empno"));System.out.Object("ename"));System.out.Object("sal"));System.out.println("--------------------------------------");}} catch (SQLException e) {e.printStackTrace();} finally{if(result!=null){try {result.close();} catch (SQLException e) {e.printStackTrace();}}if(state!=null){try {state.close();} catch (SQLException e) {e.printStackTrace();}}if(conn!=null){try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}
}
driver=oracle.jdbc.driver.OracleDriver
url=jdbc:oracle:thin:@localhost:1521:XE
username=SCOTT //数据库用户
password=TIGER //密码
静态处理块: sql语句有手动拼接,不安全,有可能出现sql注入情况
预处理块: 1.预先编译,提高效率 2.防止sql注入
ateStatement()
//准备sql
String sql = "select password from t_user where username = ? and password = ?";
//3.封装处理块
state = conn.prepareStatement(sql);
//4.为?赋值
state.setString(1,name);//给第一个问号赋值
state.setObject(2,pwd);//给第二个问好赋值
进行增删改操作时,返回以rows 行数操作成功 使用
进行select语句的查询时,会返回以set 集合 使用
//设置手动提交事务
conn.setAutoCommit(false);
//提交
connmit();
//回滚
llback();
本文发布于:2024-02-01 17:13:21,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170677880838199.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |