Java Servlet调用数据库复习
首先要导入jar包。
剩下的基本就是模版式的代码了:
public class main { // JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test";//端口号,数据库名 // 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = ""; public static void main(String args[]){ Connection conn = null;
Statement stmt = null;
try{
// 注册 JDBC 驱动
Class.forName("com.mysql.jdbc.Driver"); // 打开链接
System.out.println("连接数据库...");
conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS); // 执行查询
System.out.println(" 实例化Statement对...");
stmt = (Statement) conn.createStatement();
String sql; sql = "INSERT INTO students VALUES(\"li\",\"1234\")";//向数据库中插入数据
stmt.executeUpdate(sql); sql = "SELECT unmber, name FROM students";
ResultSet rs = stmt.executeQuery(sql); // 展开结果集数据库
while(rs.next()){
// 通过字段检索 String name = rs.getString("name");
String id = rs.getString("unmber"); // 输出数据
System.out.print("ID: " + id);
System.out.print(", 名称: " + name); System.out.print("\n");
}
// 完成后关闭
rs.close();
stmt.close();
conn.close();
}catch(SQLException se){
// 处理 JDBC 错误
se.printStackTrace();
}catch(Exception e){
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 关闭资源
try{
if(stmt!=null) stmt.close();
}catch(SQLException se2){
}// 什么都不做
try{
if(conn!=null) conn.close();
}catch(SQLException se){
se.printStackTrace();
}
}
System.out.println("Goodbye!");
} }
Servlet通过java调用数据库
基本上与java直接调用一模一样。
但是有一点很重要!!!!!!!!!!!
千万不要把jar包导入到web项目下,会报ClassNotFound异常。
把jar包删了,放到tomcat的lib下就行。
public class Hello extends HttpServlet { private static final long serialVersionUID = 1L;
// JDBC 驱动名及数据库 URL
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost:3306/test"; // 数据库的用户名与密码,需要根据自己的设置
static final String USER = "root";
static final String PASS = ""; /**
* @see HttpServlet#HttpServlet()
*/
public Hello() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Connection conn = null;
Statement stmt = null;
// 设置响应内容类型
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
String title = "Servlet Mysql";
String docType = "<!DOCTYPE html>\n";
out.println(docType +
"<html>\n" +
"<head><title>" + title + "</title></head>\n" +
"<body bgcolor=\"#f0f0f0\">\n" +
"<h1 align=\"center\">" + title + "</h1>\n");
try{
// 注册 JDBC 驱动器
Class.forName("com.mysql.jdbc.Driver"); // 打开一个连接
conn = (Connection) DriverManager.getConnection(DB_URL,USER,PASS); // 执行 SQL 查询
stmt = (Statement) conn.createStatement();
String sql;
sql = "SELECT unmber, name FROM students";
ResultSet rs = stmt.executeQuery(sql); // 展开结果集数据库
while(rs.next()){
// 通过字段检索
String name = rs.getString("name");
String id = rs.getString("unmber"); // 输出数据
out.println("ID: " + id);
out.println(",名称: " + name); out.println("<br />");
}
out.println("</body></html>"); // 完成后关闭
rs.close();
stmt.close();
conn.close();
} catch(SQLException se) {
// 处理 JDBC 错误
se.printStackTrace();
} catch(Exception e) {
// 处理 Class.forName 错误
e.printStackTrace();
}finally{
// 最后是用于关闭资源的块
try{
if(stmt!=null)
stmt.close();
}catch(SQLException se2){
}
try{
if(conn!=null)
conn.close();
}catch(SQLException se){
se.printStackTrace();
}
} } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
} }
Java Servlet调用数据库复习的更多相关文章
- java代码调用数据库存储过程
由于前边有写java代码调用数据库,感觉应该把java调用存储过程也写一下,所以笔者补充该篇! package testSpring; import java.sql.CallableStatemen ...
- java servlet调用带有多个返回结果集的存储过程
一.mysql存储过程 这里我先说下我这个功能实现的逻辑及途中遇到的一些问题.这个存储过程一共带两个输入参数,一共关联到两张表的查询,每个参数都对应查询表中的一个判断,所以一共返回了两个结果集(当然要 ...
- java中调用数据库中的存储过程和函数
public static void main(String[] args) { Connection conn =getConnection(url,user, pwd); ...
- java编程(1)——servlet和Ajax异步请求的接口编程(没有调用数据库的数据)
编程应用背景: 使用HttpServlet接口来编写一个动态登录的接口(需要在Tomcat容器发布) 登录的 LoginSample 类代码: package com.zhang.java; publ ...
- JAVA调用数据库存储过程
下面将举出JAVA对ORACLE数据库存储过程的调用 ConnUtils连接工具类:用来获取连接.释放资源 复制代码 package com.ljq.test; import jav ...
- jsp调用java servlet
1.依赖jar servlet-api.jar 2.工程结构 3.java servlet实现类 package testServlet; import java.io.IOException; im ...
- Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件
本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ...
- java8--Mysql数据库与JDBC编程(java疯狂讲义3复习笔记)
JDBC:java database connectivity 数据库基本命令: 启动 show databases; create database [if not exists] 数据库名; do ...
- Java Servlet规范
截自网址:http://blog.csdn.net/u010391029/article/details/46521051 JavaServlet Specification Version 2.3 ...
随机推荐
- windows cmd 命令行 —— 进程与服务
1. 进程查看与操作 tasklist tskill pid 2. 服务查看与操作 net start net stop
- 2017年 ACM Journal Latex templates 新模板生成 acmart.cls 文件
假定你的文稿在:/user/acmart-master那么cd /user/acmart-masterlatex acmart.ins最后可得到acmart.cls.
- HDU2604 Queuing 矩阵初识
Queues and Priority Queues are data structures which are known to most computer scientists. The Queu ...
- a链接嵌套无效,嵌套链接最优解决办法
<a>不支持嵌套.例如: <a href="#1">11111111111<a href="#2">22222222222& ...
- Hexo+GitHub+Netlify一站式搭建属于自己的博客网站
喜欢的话请关注我的个人博客我在马路边https://hhongwen.cn/,此文为博主原创,转载请标明出处. 更好的阅读体验请点击查看:Hexo+GitHub+Netlify一站式搭建属于自己的博客 ...
- python,java操作mysql数据库,数据引擎设置为myisam时能够插入数据,转为innodb时无法插入数据
今天想给数据库换一个数据引擎,mysiam转为 innodb 结果 python 插入数据时失败,但是自增id值是存在的, 换回mysiam后,又可以插入了~~ 想换php插入试试,结果php数据引擎 ...
- LG3953 逛公园
题意 策策同学特别喜欢逛公园.公园可以看成一张\(N\)个点\(M\)条边构成的有向图,且没有 自环和重边.其中1号点是公园的入口,\(N\)号点是公园的出口,每条边有一个非负权值, 代表策策经过这条 ...
- jspm 安装试用
1. 安装 yarn global add jspm or npm install -g jspm 2. 创建项目使用 mkdir appdmeo jspm init 3. 安装依赖 jspm ins ...
- Cocos2d-x第一次调试出现的问题
1.无法打开包括文件:“CCStdC.h“ http://blog.csdn.net/jbboy/article/details/9773087 2.无法打开文件“libcocos2d.lib” 用v ...
- Linux环境下安装Websphere8.5.5
首先安装包资源: https://pan.baidu.com/s/1Jvkqe3WMgNQ3bn3ggYGhAQ 下面是Installation Manager安装包 agent.installer. ...