JDBC重要界面有:

java.sgl.DriverManager:完成驱动程序的装载和建立新的数据库连接。

java.sgl.Connection:表示对某一指定数据库的连接。

java.sgl.Statement:管理在一指定数据库连接上的SQL语句的执行。

java.sgl.ResultSet:访问一指定语句的原始结果。

java.sgl.CallableStatement:用于执行存储的SQL过程的界面。

java.sgl.Connection: 一个连接表示与某一指定数据库的一个会话。在该连接中可以执行SQL语句和处理返回结果。

java.sql.DataTruncation:当JDBC碰到意外数据截断时,报告一个警告(读数据时)或产生一个异常(写数据时)。

java.sql.Date:是标准java.util.date的一个子集,只表示天数,而不包含时、分、秒。

java.sql.Driver:定义一个在每一个数据库驱动程序中必须实现的驱动程序界面。 java.sql.DriverManager:提供对全局SQL状态的访问。

java.sql.DriverPropertyInto:提供高级程序员与驱动程序之间对连接特性信息进行交互的手段。 java.sql.NullData:当由getXXX或getObiect方法读出一个SQL空值时,产生一个NullData警告。 java.sql.Numeric:是一个任意精度标量数值类,可用作表示SQL定点Numerlc和Decimal类型的数值。 java.sql.PreparedStatement:保存一个预编译的SQL语句的对象,该对象可被高效地执行多次。 java.sql.ResultSet:结果集提供对执行一个SQL语句后产生的结果表的访问。表中数据按行依次取出。为便于移植,建议对每一行数据从左至右按列读出。

java.sql.SQLException:处理数据库访问时的出错信息。

java.sql.SQLWarning:处理数据库访问时的警告信息。

java.sql.Statement:用作执行一条静态的SQL语句并接收产生的结果。

java.sql.Time:用于表示标准java.util.date类的一个信息子集,仅表示时、分、秒。 java.sql.Timestamp:扩展标准java.util.date类,使其能够表示SQL的时间戳,增加了一个以纳秒为单位的时间域。

java.sql.Types:定义区分SQL类型的常量。类常量值与XOPEN中的值相同。

JDBC驱动程序界面:可以通过"Class.forName("com.mysql.jdbc.Driver"); "来获取,(主要用于"java.sql.Connection; "类),它的作用是在访问一个指定的URL时可以查询到相应的驱动程序。

下面,我们来实践操作一个图书信息的添加:

首先,我们先导入名为mysql-connector-java-5.1.18的程序包(已上传),把它粘贴在Webroot-->WEB-INF文件中,如图所示:

Book类:

  1. package com.caiduping;
  2.  
  3. public class Book {
  4. private int id;
  5. private String name;
  6. private double price;
  7. private int bookCount;
  8. private String author;
  9. public int getId() {
  10. return id;
  11. }
  12. public void setId(int id) {
  13. this.id = id;
  14. }
  15. public String getName() {
  16. return name;
  17. }
  18. public void setName(String name) {
  19. this.name = name;
  20. }
  21. public double getPrice() {
  22. return price;
  23. }
  24. public void setPrice(double price) {
  25. this.price = price;
  26. }
  27. public int getBookCount() {
  28. return bookCount;
  29. }
  30. public void setBookCount(int bookCount) {
  31. this.bookCount = bookCount;
  32. }
  33. public String getAuthor() {
  34. return author;
  35. }
  36. public void setAuthor(String author) {
  37. this.author = author;
  38. }
  39. }

AddBooks类:

  1. package com.caiduping.open;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.PreparedStatement;
  5. import java.sql.SQLException;
  6.  
  7. import com.caiduping.Book;
  8.  
  9. public class AddBooks {
  10. public int addbook(Book book) throws SQLException, ClassNotFoundException
  11. {int a=;
  12. OpenConnection c=new OpenConnection();
  13. Connection conn=c.OpenConnection();
  14. String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";
  15. // 获取PreparedStatement
  16. PreparedStatement ps = conn.prepareStatement(sql);
  17. // 对SQL语句中的第1个参数赋值
  18. ps.setString(, book.getName());
  19. System.out.println("name:"+book.getName());
  20. // 对SQL语句中的第2个参数赋值
  21. ps.setDouble(, book.getPrice());
  22. // 对SQL语句中的第3个参数赋值
  23. ps.setInt(,book.getBookCount());
  24. // 对SQL语句中的第4个参数赋值
  25. ps.setString(, book.getAuthor());
  26. // 执行更新操作,返回所影响的行数
  27. int row = ps.executeUpdate();
  28. // 判断是否更新成功
  29. return row;
  30. }
  31. }
  1. OpenConnection类:
  1. package com.caiduping.open;
  2.  
  3. import java.sql.Connection;
  4. import java.sql.DriverManager;
  5. import java.sql.SQLException;
  6.  
  7. public class OpenConnection {
  8.  
  9. public Connection OpenConnection() throws SQLException, ClassNotFoundException {
  10. // TODO Auto-generated method stub
  11. Connection c=null;
  12. //加载驱动
  13. Class.forName("com.mysql.jdbc.Driver");
  14. c=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_database10","Book","");
  15. return c;
  16. }
  17.  
  18. }

C类:

  1. package com.caiduping.servlet;
  2.  
  3. import java.io.IOException;
  4.  
  5. import javax.servlet.Filter;
  6. import javax.servlet.FilterChain;
  7. import javax.servlet.FilterConfig;
  8. import javax.servlet.ServletException;
  9. import javax.servlet.ServletRequest;
  10. import javax.servlet.ServletResponse;
  11.  
  12. public class CharFilter implements Filter {
  13.  
  14. @Override
  15. public void destroy() {
  16. // TODO Auto-generated method stub
  17.  
  18. }
  19.  
  20. @Override
  21. public void doFilter(ServletRequest request, ServletResponse response,
  22. FilterChain chain) throws IOException, ServletException {
  23. // TODO Auto-generated method stub
  24. request.setCharacterEncoding("UTF-8");
  25. response.setCharacterEncoding("UTF-8");
  26. //System.out.println("cdp");
  27. chain.doFilter(request, response);
  28. }
  29.  
  30. @Override
  31. public void init(FilterConfig arg0) throws ServletException {
  32. // TODO Auto-generated method stub
  33.  
  34. }
  35.  
  36. }

AddBooks.jsp:

  1. <%@page import="java.sql.DriverManager"%>
  2. <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
  3. <%
  4. String path = request.getContextPath();
  5. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  6. %>
  7.  
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  9. <html>
  10. <head>
  11. <base href="<%=basePath%>">
  12.  
  13. <title>My JSP 'AddBooks.jsp' starting page</title>
  14.  
  15. <meta http-equiv="pragma" content="no-cache">
  16. <meta http-equiv="cache-control" content="no-cache">
  17. <meta http-equiv="expires" content="">
  18. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  19. <meta http-equiv="description" content="This is my page">
  20. <!--
  21. <link rel="stylesheet" type="text/css" href="styles.css">
  22. -->
  23.  
  24. </head>
  25.  
  26. <body>
  27. <%request.setCharacterEncoding("utf-8"); %>
  28. <jsp:useBean id="book" class="com.caiduping.Book"></jsp:useBean>
  29. <jsp:setProperty property="*" name="book"/>
  30. <%int n=;
  31. n=book.getId();
  32. if(n>) {%>书籍添加成功<%} %>
  33. <a href="index.jsp">返回</a>
  34. </body>
  35. </html>

indes.jsp:

  1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
  2. <%
  3. String path = request.getContextPath();
  4. String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
  5. %>
  6.  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  8. <html>
  9. <head>
  10. <base href="<%=basePath%>">
  11.  
  12. <title>My JSP 'index.jsp' starting page</title>
  13. <meta http-equiv="pragma" content="no-cache">
  14. <meta http-equiv="cache-control" content="no-cache">
  15. <meta http-equiv="expires" content="">
  16. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
  17. <meta http-equiv="description" content="This is my page">
  18. <!--
  19. <link rel="stylesheet" type="text/css" href="styles.css">
  20. -->
  21. </head>
  22.  
  23. <body>
  24. <form id="book" method="post" action="AddBooks.jsp">
  25. <table width="" border="">
  26. <tr>
  27. <td colspan=""><div align="center">添加图书信息</div></td>
  28. </tr>
  29. <tr>
  30. <td>图书名称:</td>
  31. <td><label>
  32. <input name="name" type="text" id="name" />
  33. </label></td>
  34. </tr>
  35. <tr>
  36. <td>价格:</td>
  37. <td><label>
  38. <input name="price" type="text" id="price" />
  39. </label></td>
  40. </tr>
  41. <tr>
  42. <td>数量:</td>
  43. <td><label>
  44. <input name="bookCount" type="text" id="bookCount" />
  45. </label></td>
  46. </tr>
  47. <tr>
  48. <td>作者:</td>
  49. <td><label>
  50. <input name="author" type="text" id="author" />
  51. </label></td>
  52. </tr>
  53. <tr>
  54. <td colspan=""><label>
  55. <div align="center">
  56. <input type="submit" name="Submit" value="提交" />
  57. </div>
  58. </label></td>
  59. </tr>
  60. </table>
  61. </form>
  62. </body>
  63. </html>

JDBC之数据库操作的更多相关文章

  1. [总结] JDBC数据库操作

    1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...

  2. Java数据库——JDBC 2.0操作

    可滚动的结果集 让结果集滚动起来 //================================================= // File Name : JDBC20_demo //-- ...

  3. 使用JdbcTemplate简化JDBC操作 实现数据库操作

    使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...

  4. 使用JDBC进行数据库的事务操作(2)

    本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...

  5. 使用JDBC进行数据库的事务操作(1)

    本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...

  6. 使用JDBC对数据库实现批处理操作

    本篇讲述如何使用JDBC对数据库实现批处理操作.很多时候单条SQL命令不能满足我们的需求,我们需要对数据库一次实现很多操作,需要发送一批SQL命令给数据库执行. 而JDBC也提供了相应的方法给我们实现 ...

  7. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

    一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...

  8. JDBC数据库操作

    JDBC:   创建SQL语句对象    Statement statement = (Statement) con.createStatement() ;   调用执行     statement. ...

  9. Java通过JDBC 进行MySQL数据库操作

    转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...

随机推荐

  1. poj 3501 Escape from Enemy Territory 二分+bfs

    水题,不解释. #include<stdio.h> #include<math.h> #include<cstring> #include<algorithm ...

  2. nginx缓存优先级(缓存问题者必看)

    接触nginx的兄弟或多或少都有遇到缓存问题,要么是nginx为什么不缓存,要么就是nginx缓存很快就失效等等问题,在网上找了一遍nginx缓存优先级的文章,大家可以参考下. 架构图client端  ...

  3. C#获得和发送网站Session

    request = (HttpWebRequest)WebRequest.Create(url);                                         if (Const. ...

  4. zoj 3511 Cake Robbery(线段树)

    problemCode=3511" target="_blank" style="">题目链接:zoj 3511 Cake Robbery 题目 ...

  5. Windows下载Android源代码

    下载msysgit,安装 官方下载:http://code.google.com/p/msysgit/downloads/list, 打开Git Bash,运行命令 cd D: git clone h ...

  6. Linux rsync 同步实践

    目录[-] 1. rsync 同步的大致思路 2. rsync的安装 3. rsync的配置 4. rsync的基本操作 服务器端启动 注2. 实时同步 注3. rsync通过linux防火墙 公司网 ...

  7. [Javascript] Functor law

    Functor laws: 1. Identity: map(id) == id 2. Composition: compose(map(f), map(g)) == map(compose(f,g) ...

  8. mysqldump原理0

  9. 《Maven_孔浩》Maven依赖

    项目目录结构如下: pom.xml src          main\java\zttc\itat\maven\ch02 target   pom.xml文件说明 groupId:项目id(如:zt ...

  10. Windows下用Git下载android源码 转载

    http://my.oschina.net/jiadebin/blog/52631 1.首先你的电脑要安装好git,这个请参考git官网. 2.打开git命令窗口输入git clone http:// ...