JDBC 测试01

1、  利用Statement对象进行数据修改。

第一步:在cn.edu.zucc.booklib.control. ProductsManager类中添加根据产品编号修改产品名称,单价,数量的方法 public void modifyProducts (Products p)throws BaseException

第二步:编写上述方法,要求输入参数p中的任何成员都不能为null,否则不执行修改任务,并抛出异常。

第三步:清空cn.edu.zucc.booklib.control. PublisherManager类中的main函数现有内容

第四步:在main函数中编写代码,通过调用上面实现的方法。要求main函数中调用两次上述函数,参数分别为一个有成员为null的产品,一个合法的产品。

package cn.edu.zucc.booklib.control;
import java.util.Scanner;



import java.sql.Connection;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import cn.edu.zucc.booklib.model.BeanBook;
import cn.edu.zucc.booklib.model.Products;
import cn.edu.zucc.booklib.util.BaseException;
import cn.edu.zucc.booklib.util.BusinessException;
import cn.edu.zucc.booklib.util.DBUtil;
import cn.edu.zucc.booklib.util.DbException;

import java.sql.Connection;
public class ProductsManager {

    public void modifyProducts (Products p) throws BaseException {
        Connection conn = null;
        try {
            conn = DBUtil.getConnection();
            String sql = "update products set ProductName = '" + p.getProductName() + "'," + "UnitPrice = " + p.getUnitPrice()
            + ",UnitsInStock = " + p.getUnitsInStock() + " where ProductID = " + p.getProductID();
            System.out.println(sql);
            java.sql.Statement st =conn.createStatement();
            st.execute(sql);    
        }
        catch (SQLException e) {
            e.printStackTrace();
            throw new DbException(e);
        }
        finally {
            if (conn != null) 
                try {
                    conn.close();
                }
            catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
    public static void main(String[] args) {

        //精确查询
        
        try {
            Products p =new Products();
            Scanner input = new Scanner(System.in);
            int tt = input.nextInt();
            p.setProductID(tt);
            String s = input.next();
            p.setProductName(s);
            double ttt = input.nextDouble();
            p.setUnitPrice(ttt);
            ttt=input.nextDouble();
            p.setUnitPrice(ttt);
            
            (new ProductsManager()).modifyProducts (p);
        }
            
        catch (BaseException e) {
            e.printStackTrace();
        }
        

        
        
        
        
    }
}
原文地址:https://www.cnblogs.com/zhanglichen/p/12964677.html