博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JDBC
阅读量:4589 次
发布时间:2019-06-09

本文共 2272 字,大约阅读时间需要 7 分钟。

Java语言访问数据库的一种规范,是一套API

JDBC (Java Database Connectivity) API,即Java数据库编程接口,是一组标准的Java语言中的接口和类,使用这些接口和类,Java客户端程序可以访问各种不同类型的数据库。比如建立数据库连接、执行SQL语句进行数据的存取操作。

 

   JDBC规范采用接口和实现分离的思想设计了Java数据库编程的框架。接口包含在java.sql及javax.sql包中,其中java.sql属于JavaSE,javax.sql属于JavaEE。这些接口的实现类叫做数据库驱动程序,由数据库的厂商或其它的厂商或个人提供。

 

   为了使客户端程序独立于特定的数据库驱动程序,JDBC规范建议开发者使用基于接口的编程方式,即尽量使应用仅依赖java.sql及javax.sql中的接口和类。

 

数据库连接步骤

  1注册驱动   Class.forName("oracle.jdbc.OracleDriver");  //此处加载的是oracle驱动在调用此之前需要将驱动jar包导入到项目。通过buildpath
 
  2获得连接   Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521/orcl","scott","root");

   可以将connection输入查看是否连接成功。

  3获得语句执行平台  Statement st = connection.createStatement();

   这是一种操作数据库的方式,有其他的操作数据库的方式

  4执行sql语句  sql = "select * from emp";  
  ResultSet rs = st.executeQuery(sql);//查询emp表中的所有信息
  5处理结果
  6资源释放 rs.close();st.close();connection.close();
 
连接Oracle查询表内容的代码
  

 

     插入删除修改  这三种类似,通过executeUpdate操作,需要注意的是对于字符串类型数据需要用单引号包裹,不然会报列在此处不允许错误。

向学生表中插入一条数据

String sql = "insert into student values('"+student.getId()+"','"+student.getName()

+"','"+student.getSex()+"',"+student.getScore()+")";
try {
int rs = st.executeUpdate(sql);  通过返回值rs判断是否成功,表示对表数据的影响行数,rs=0代表操作失败
return rs;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

根据id删除学生

String sql = "delete from student where id ="+id;

try {
int rs = st.executeUpdate(sql);  同样  rs为0代表操作失败,>0代表对rs条数据进行了删除
return rs;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

根据id修改学生

String sql ="update student set id='"+student.getId()+"',name='"+student.getName()+"',sex='"

+student.getSex()+"',score='"+student.getScore()+"'where id='"+id+"'";
try {
int rs = st.executeUpdate(sql);
return rs;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

  查找数据

 

String sql = "select * from student where id="+id;

Student student;
try {
ResultSet rs = st.executeQuery(sql);   这里返回的不再是int数据了,而是一个集合,结果集
while (rs.next()) {
student = new Student(rs.getString("id"), rs.getString("name"),
rs.getString("sex"), Integer.valueOf(rs.getString("score")));
rs.close();
return student;
}  这个循环将结果集封装为对象
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

 

转载于:https://www.cnblogs.com/ZouHongxue/p/7559767.html

你可能感兴趣的文章
18.3 线程的声明周期
查看>>
fomo6d游戏系统开发 fomo6d游戏
查看>>
div简单布局理解
查看>>
EasyUI Tree判断节点是否是叶
查看>>
Java基础加强总结(一)——注解(Annotation)
查看>>
Windows 2008R2关闭网络发现
查看>>
hibernate tool连接oracle生成pojo和xml文件无法查询表解决办法
查看>>
Jenkins执行selenium报错unknown error: cannot find Chrome binary
查看>>
Content-Type四种常见取值
查看>>
禹庙-杜甫
查看>>
Cache缓存
查看>>
[家里蹲大学数学杂志]第409期与正弦对数有关的一个积分不等式
查看>>
BZOJ 2795: [Poi2012]A Horrible Poem (Hash+思维)
查看>>
HDOJ-1002
查看>>
Tree (四校联考T1)
查看>>
javascript动态合并表格相同的单元格
查看>>
CRM项目上线第一天
查看>>
对象属性特性(可写,可枚举,可配置)
查看>>
5.16
查看>>
Dom EVENT对象
查看>>