JDBC之数据库操作
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类:
package com.caiduping; public class Book {
private int id;
private String name;
private double price;
private int bookCount;
private String author;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getBookCount() {
return bookCount;
}
public void setBookCount(int bookCount) {
this.bookCount = bookCount;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
}
AddBooks类:
package com.caiduping.open; import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException; import com.caiduping.Book; public class AddBooks {
public int addbook(Book book) throws SQLException, ClassNotFoundException
{int a=;
OpenConnection c=new OpenConnection();
Connection conn=c.OpenConnection();
String sql = "insert into tb_books(name,price,bookCount,author) values(?,?,?,?)";
// 获取PreparedStatement
PreparedStatement ps = conn.prepareStatement(sql);
// 对SQL语句中的第1个参数赋值
ps.setString(, book.getName());
System.out.println("name:"+book.getName());
// 对SQL语句中的第2个参数赋值
ps.setDouble(, book.getPrice());
// 对SQL语句中的第3个参数赋值
ps.setInt(,book.getBookCount());
// 对SQL语句中的第4个参数赋值
ps.setString(, book.getAuthor());
// 执行更新操作,返回所影响的行数
int row = ps.executeUpdate();
// 判断是否更新成功
return row;
}
}
OpenConnection类:
package com.caiduping.open; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException; public class OpenConnection { public Connection OpenConnection() throws SQLException, ClassNotFoundException {
// TODO Auto-generated method stub
Connection c=null;
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
c=DriverManager.getConnection("jdbc:mysql://localhost:3306/db_database10","Book","");
return c;
} }
C类:
package com.caiduping.servlet; import java.io.IOException; import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse; public class CharFilter implements Filter { @Override
public void destroy() {
// TODO Auto-generated method stub } @Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
//System.out.println("cdp");
chain.doFilter(request, response);
} @Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub } }
AddBooks.jsp:
<%@page import="java.sql.DriverManager"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'AddBooks.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
--> </head> <body>
<%request.setCharacterEncoding("utf-8"); %>
<jsp:useBean id="book" class="com.caiduping.Book"></jsp:useBean>
<jsp:setProperty property="*" name="book"/>
<%int n=;
n=book.getId();
if(n>) {%>书籍添加成功<%} %>
<a href="index.jsp">返回</a>
</body>
</html>
indes.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head> <body>
<form id="book" method="post" action="AddBooks.jsp">
<table width="" border="">
<tr>
<td colspan=""><div align="center">添加图书信息</div></td>
</tr>
<tr>
<td>图书名称:</td>
<td><label>
<input name="name" type="text" id="name" />
</label></td>
</tr>
<tr>
<td>价格:</td>
<td><label>
<input name="price" type="text" id="price" />
</label></td>
</tr>
<tr>
<td>数量:</td>
<td><label>
<input name="bookCount" type="text" id="bookCount" />
</label></td>
</tr>
<tr>
<td>作者:</td>
<td><label>
<input name="author" type="text" id="author" />
</label></td>
</tr>
<tr>
<td colspan=""><label>
<div align="center">
<input type="submit" name="Submit" value="提交" />
</div>
</label></td>
</tr>
</table>
</form>
</body>
</html>
JDBC之数据库操作的更多相关文章
- [总结] JDBC数据库操作
1.加载驱动--告诉驱动管理将使用哪一个数据库的驱动包. class.forName("com.mysql.jdbc.Driver"); 2.操作JDBC ADI完成数据库动作 D ...
- Java数据库——JDBC 2.0操作
可滚动的结果集 让结果集滚动起来 //================================================= // File Name : JDBC20_demo //-- ...
- 使用JdbcTemplate简化JDBC操作 实现数据库操作
使用Spring JDBC框架方遍简单的完成JDBC操作,满足性能的需求且灵活性高. Spring JDBC框架由4个部分组成,即core.datasource.object.support. org ...
- 使用JDBC进行数据库的事务操作(2)
本篇将讲诉如何使用JDBC进行数据库有关事务的操作.在上一篇博客中已经介绍了事务的概念,和在MySQL命令行窗口进行开启事务,提交事务以及回滚事务的操作. 似乎事务和批处理都可以一次同时执行多条SQL ...
- 使用JDBC进行数据库的事务操作(1)
本篇讲述数据库中非常重要的事务概念和如何使用MySQL命令行窗口来进行数据库的事务操作.下一篇会讲述如何使用JDBC进行数据库的事务操作. 事务是指数据库中的一组逻辑操作,这个操作的特点就是在该组逻辑 ...
- 使用JDBC对数据库实现批处理操作
本篇讲述如何使用JDBC对数据库实现批处理操作.很多时候单条SQL命令不能满足我们的需求,我们需要对数据库一次实现很多操作,需要发送一批SQL命令给数据库执行. 而JDBC也提供了相应的方法给我们实现 ...
- Java数据库连接--JDBC基础知识(操作数据库:增删改查)
一.JDBC简介 JDBC是连接java应用程序和数据库之间的桥梁. 什么是JDBC? Java语言访问数据库的一种规范,是一套API. JDBC (Java Database Connectivit ...
- JDBC数据库操作
JDBC: 创建SQL语句对象 Statement statement = (Statement) con.createStatement() ; 调用执行 statement. ...
- Java通过JDBC 进行MySQL数据库操作
转自: http://blog.csdn.net/tobetheender/article/details/52772157 Java通过JDBC 进行MySQL数据库操作 原创 2016年10月10 ...
随机推荐
- no datanode to stop
昨晚整了半天,遇上的问题是通过start-all.sh无法启动datanode,然后关闭时就会报no datanode to stop ,引起这个的原因是因为我多次格式化,导致namespaceID不 ...
- PostgreSQL的 initdb 源代码分析之十
继续分析, 如下这段,因为条件不成立,被跳过: /* Create transaction log symlink, if required */ ) { fprintf(stderr,"I ...
- C# 制作外挂常用的API
C#做外挂的常用API,本人用了很久,基本没发现问题 using System; using System.Collections.Generic; using System.Text; using ...
- ListView上移 和下移
有问题 //ListBox选中的项目移动到第1位 Listbox1.Items.Move(ListBox1.ItemIndex,0); //ListView选中的项目移动到第1 ...
- Android 滑动效果进阶篇(六)—— 倒影效果
上篇介绍了使用Animation实现3D动画旋转翻页效果,现在介绍图片倒影实现,先看效果图 本示例主要通过自定义Gallery和ImageAdapter(继承自BaseAdapter)实现 1.倒影绘 ...
- 用 Graphviz 可视化函数调用
http://www.ibm.com/developerworks/cn/linux/l-graphvis/
- python工具程序一、复制目录中指定扩展名的文件
#!/usr/bin/env python # coding:utf-8 # xcopy Lib directory and rename all files to *d.lib import os ...
- apache配置--虚拟目录
apache在httpd-vhosts.conf中 配置二级域名或者泛域名: <VirtualHost *:80> ServerAdmin 846606478@qq.com D ...
- C#_deepCopy
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Run ...
- Old Calculator
描述 szhhck have an old calculator bought 5 years ago.he find the old machine can just calculate expre ...