一:JDBC的概念和作用:## 标题
1.概念:Java Database Connectivity java数据库连接,是javaEE编程规范之一
2、本质:sun公司提供的一组编程接口
3、由数据库厂商提供接口的实现类 以jar包形式 数据库驱动jar
4、作用:使用java程序 访问操作数据库
二:JDBC编程步骤 ## 标题
1、先搭建开发环境
引入数据库驱动jar包 ojdbc版本.jar
注意:如果是新建的java项目则需要将jar包build path到当前环境中,如果是web项目 则将jar包放入到WebRoot下的lib文件夹即可
2、编程六步(必须掌握)
①加载驱动、将接口的实现类交由DriverManager管理
Class,forName(oracle.jdbc.OracleDriver);
②获取数据库连接对象 jdbc:oracle:thin:@ip地址:服务端口:sid(数据库的名字) 10g xe 三个参数 连接对象 数据库名字 数据库密码
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
③书写sql语句(随意)
String sql = "insert into t_user values(1,"lufei","123")";
④将书写的sql语句执行
//装载sql
PreparedStatement pstm = conn.prepateStatement(sql);
⑤处理结果
System.out.println("恭喜您成功插入"+i+"条数据”);
⑥关闭资源(先开启的后关闭)
pstm.close();
conn.close();
三、JDBC的基本增删查改## 标题
1、增加:
Class,forName(oracle.jdbc.OracleDriver);
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
String sql = "insert into t_user values(1,"lufei","123")";
PreparedStatement pstm = conn.prepateStatement(sql);
System.out.println("恭喜您成功插入"+i+"条数据”);
pstm.close();
conn.close();
2、动态删除一条数据,其中的?代表动态参数
Class,forName(oracle.jdbc.OracleDriver);
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
String sql = "delete from t_user where id = ?";
PreparedStatement pstm = conn.prepateStatement(sql);
pstm.setInt(1,3);//1代表sql语句中的第一个? 3代表传入的动态参数
int i = pstm.executeUpdate();
System.out.println("恭喜您成功删除"+i+"条数据”);
pstm.close();
conn.close();
3、查询数据 查询单个数据
Class,forName(oracle.jdbc.OracleDriver);
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
String sql = "select from t_user where id = ?";
PreparedStatement pstm = conn.prepateStatement(sql);
pstm.setInt(1,2);//1代表sql语句中的第一个? 2代表传入的动态参数
//查询的执行sql语句的执行方式
ResultSet rs = pstm.executeQuery();
//处理结果集
//在这里需要注意的是,获取属性的时候类型要对应
if(rs.next()){
System.out.println("用户的id为"+rs.getInt(1));
System.out.println("用户的name为"+rs.getString(2));
System.out.println("用户的password为"+rs.getString(3));
}
rs.close();
pstm.close();
conn.close();
4、查询数据 查询所有
Class,forName(oracle.jdbc.OracleDriver);
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
String sql = "select from t_user where id = ?";
PreparedStatement pstm = conn.prepateStatement(sql);
pstm.setInt(1,2);//1代表sql语句中的第一个? 2代表传入的动态参数
//查询的执行sql语句的执行方式
ResultSet rs = pstm.executeQuery();
//处理结果集
//在这里需要注意的是,获取属性的时候类型要对应
while(rs.next()){
System.out.println("用户的id为"+rs.getInt(1));
System.out.println("用户的name为"+rs.getString(2));
System.out.println("用户的password为"+rs.getString(3));
}
rs.close();
pstm.close();
conn.close();
5、修改数据
Class,forName(oracle.jdbc.OracleDriver);
Connection conn= DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe","hr","hr");
String sql = "update t_user set name=?,password=? where id=?";
PreparedStatement pstm = conn.prepateStatement(sql);
pstm.setString(1,"zhangsan");
pstm.setString(2,"222222");
pstm.setInt(3,2);//这是选择id为2的数据
int i = pstm.executeUpdate();
System.out.println("恭喜您成功修改"+i+"条数据”);
pstm.close();
conn.close();