码迷,mamicode.com
首页 > 数据库 > 详细

JDBC

时间:2017-09-20 10:16:02      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:ret   资源   数据库驱动   插入   建立   core   语句   localhost   tab   

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

标签:ret   资源   数据库驱动   插入   建立   core   语句   localhost   tab   

原文地址:http://www.cnblogs.com/ZouHongxue/p/7559767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!