package demo;

import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; /**
* Servlet implementation class Edit
*/
@WebServlet("/edit.do")
public class Edit extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public Edit() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#service(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
//根据ID查询
String id = request.getParameter("id");//获取参数--需要修改得记录的ID
System.out.println(id); //设置数据库连接参数
String url = "jdbc:mysql://localhost:3306/库名?serverTimezone=UTC";
String user = "用户名";
String password = "密码"; //加载数据库驱动
try {
Class.forName("com.mysql.jdbc.Driver");// 加载数据库的JDBC驱动程序
} catch (ClassNotFoundException e) {
e.printStackTrace();
} Customer customer = new Customer(); try (Connection connection = DriverManager.getConnection(url, user, password)) {//连接数据库 //设置预处理语句,customers为表名
String sql = "SELECT*FROM customers where customerID= ? ";
PreparedStatement statement = connection.prepareStatement(sql);//预处理sql语句
/*
* statement.setInt(1, Integer.parseInt(id));//Integer.parseInt(id)将字符串类型转换成整型
*/
int _id = Integer.parseInt(id);
statement.setInt(1, _id);
ResultSet rs = statement.executeQuery(); while (rs.next()) {
// 将数据库的数据转换成POJO实例
customer.setCustomerID(rs.getInt("CustomerID"));
customer.setCustomerName(rs.getString("CustomerName"));
customer.setContactName(rs.getString("ContactName"));
customer.setAddress(rs.getString("Address"));
customer.setCity(rs.getString("City"));
customer.setPostalCode(rs.getString("PostalCode"));
customer.setCountry(rs.getString("Country")); } rs.close();
statement.close(); } catch (SQLException e) {
e.printStackTrace();
} request.setAttribute("customer", customer);//将获取POJO实例传递到edit界面
request.getRequestDispatcher("edit.jsp").forward(request, response);
} }

SQL ----- JDBC 用ID查询某条记录的更多相关文章

  1. SQL ------ JDBC 删除指定的某条记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  2. mysql 查询一条记录的下一条和上一条记录

    如果ID是主键或者有索引,可以直接查找: 方法一: 查询上一条记录的SQL语句(如果有其他的查询条件记得加上other_conditions以免出现不必要的错误): select * from tab ...

  3. mysql_oracle_随机查询几条记录

    数据库的随机查询SQL 1. Oracle,随机查询20条 select * from ( select  *  from 表名 order by dbms_random.value ) where ...

  4. 【面经】面试官:如何以最高的效率从MySQL中随机查询一条记录?

    写在前面 MySQL数据库在互联网行业使用的比较多,有些小伙伴可能会认为MySQL数据库比较小,存储不了很多的数据.其实,这些小伙伴是真的不了解MySQL.MySQL的小不是说使用MySQL存储的数据 ...

  5. mysql结构相同的三张表查询一条记录\将一张表中的数据插入另外一张表

    将一张表中的数据插入另外一张表 1.两张表结构相同 insert into 表1名称 select * from 表2名称 2.两张结构不相同的表 insert into 表1名称(列名1,列名2,列 ...

  6. sql查询两条记录的时间差

    今天突然想到了一个需求,即在一张带有id和time字段的表中,查询相邻时间的时间差. 表的记录如下: 表名为wangxin id是一个不重复的字符串,time是一个时间戳. 现在的需求如下: 比如id ...

  7. SQL每个用户最后的一条记录

    SELECT [ID] ,[UserID] ,[StartDate] ,[EndDate] ,[CreateUser] ,[CreateDate] ,[LastEditUser] ,[LastEdit ...

  8. mongodb随机查询一条记录的正确方法!

    关于从mongodb库中随机取出一条记录的方法的博文很多,其中都提到了下面三种方法: 1.skip过随机数量的记录. DBCursor cursor = coll.find(query); int r ...

  9. Mysql 按条件排序查询一条记录 top 1 对应Mysql的LIMIT 关键字

    项目中需要每次查询一个表中的最新的一条记录,表结构里面有日期字段.只需要显示一条记录. Mysql帮助文档里面的解释 3.6.2. 拥有某个列的最大值的行 任务:找出最贵物品的编号.销售商和价格. 这 ...

随机推荐

  1. BZOJ 3489: A simple rmq problem (KD-tree做法)

    KD树水过这道可持久化树套树-其实就是个三维偏序 题解戳这里 CODE #include <bits/stdc++.h> using namespace std; #define ls ( ...

  2. List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedList Set有两个实现类:HashSet和LinkedHashSet AbstractSet实现了Set

    List,Set,Map在java.util包下都是接口 List有两个实现类:ArrayList和LinkedListSet有两个实现类:HashSet和LinkedHashSetAbstractS ...

  3. 正则匹配href标签内容

    完整a标签 <a.+?href=\"(.+?)\".*>(.+)</a> 单独href : <a.+?href=\"(.+?)\" ...

  4. axios 是如何封装 HTTP 请求的

    原载于 TutorialDocs 网站的文章<How to Implement an HTTP Request Library with Axios>.译者:zhangbao90shttp ...

  5. ACM之路(14)—— 线段树的日常(上)

    我的线段树简直有毒,各种错误都能忙上半天.做了kuangbin的线段树专题的一半,还有一半留到以后去做. 链接:http://acm.hust.edu.cn/vjudge/contest/view.a ...

  6. VMware配置NAT方式下的静态ip

    一.VMware上NAT模式工作原理 原理图如下: 说明: 1.虚拟主机与本地主机通信时,直接通过虚拟交换机访问(不管是虚拟主机的ip是静态ip还是动态分配的ip) 2.虚拟主机与外网通信时,虚拟主机 ...

  7. QString介绍

    QString stores a string of 16-bit QChars, where each QChar corresponds one Unicode 4.0 character. 一. ...

  8. Flutter移动电商实战 --(7)dio基础_POST请求的使用

    这节学习一下POST请求的使用,其实POST和Get请求都是在工作中最重要的两种请求.比如我们要传递一组表单数据过去,这时候用Get请求就是不太合适的,使用POST比较好. SingleChildSc ...

  9. 数据分析 - pandas 模块

    数据读取结构 -  DataFrame Series (collection of values) DataFrame (collection of Series objects) Panel (co ...

  10. Linux 的零拷贝技术

    目录 文章目录 目录 Linux I/O 缓存背景 零拷贝技术(Zero-Copy) 参考文章 Linux I/O 缓存背景 当请求文件服务器的下载功能时,服务端程序所做的事情是:将服务器磁盘中的文件 ...