JDBC

Posted 代码森林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDBC相关的知识,希望对你有一定的参考价值。

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();
}

 

以上是关于JDBC的主要内容,如果未能解决你的问题,请参考以下文章

JDBCJDBC连接mySQL数据库常见错误

JDBCJDBC连接mySQL数据库常见错误

JDBC

关于JDBC小总结

java JDBC编程学习笔记

java JDBC编程学习笔记