zoukankan      html  css  js  c++  java
  • Java第八次作业

    Java第八次作业

    (一)学习总结

    1.用思维导图对本周的学习内容进行总结。

    参考资料: XMind。
    2.通过实验内容中的具体实例说明在执行executeUpdate()方法和executeQuery()方法中使用动态参数时,为什么要使用PreparedStatement接口而不使用Statement,比较使用两种接口的不同之处。

    Statement接口

    一个Statement对象用于执行静态SQL语句,并获得语句执行后的结果
    executeUpdate(String sql)方法执行数据库的SQL语句,返回更新记录数
    executeQuery(String sql)方法执行数据库查询操作,返回一个结果集对象

    conn = JDBCUtils.getConnection(1);
    String sql = "insert into pet(no,type,age,number,price) values (?,?,?,?,?)";
    pstmt = conn.prepareStatement(sql);
    pstmt.setString(1, pet.getNo());
    pstmt.setString(2, pet.getType());
    pstmt.setString(3, pet.getAge());
    pstmt.setString(4, pet.getNumber());
    pstmt.setString(5,pet.getPrice());
    int num = pstmt.executeUpdate();
    

    PreparedStatement接口创建一个可以编译的SQL语句对象,该对象可以被多次运行,以提高执行效率,该接口是Statement类的子接口,属于预处理操作,与Statement接口不同的是,PreparedStatement接口操作时,在数据表中准备好SQL语句,内容暂时不设置,等待用户分别设置,PreparedStatement接口除Statement的所有操作,还有新操作
    executeUpdate()方法执行设置的预处理SQL语句
    executeQuery()方法执行数据库查询操作,返回ResultSet
    使用Statement接口(进行查询时,SQL语句的内容是具体的),Statement在每次调用时,都要重新进行编译
    使用PreparedStatement接口(进行查询时,SQL语句使用占位符进行设置具体内容),PreparedStatement是预编译语句,支持批处理,能够减少对数据库资源的占用
    PreparedStatement能够编写动态查询语句
    为什么使用PreparedStatement而不用Statement?
    使用PreparedStatement提升代码的可读性和可维护性还可提升性能,提高了安全性
    总结:虽然在对数据库中的数据只进行一次性的存取时,使用Statement会比PreparedStatement更有效率,但使用PreparedStatement能够提升数据库的总体效率以及安全性,所以在开发中尽量使用PreparedStatement
    3.其他需要总结的内容。
    File类提供了创建文件、获取文件属性的机制。
    在不同操作系统中路径分割符是不一样的:

     public static final String separator。
     File file=new File("d:"+File.separator+"test.txt");
    

    (1)File类构造方法:
    public File(String path)
    如果path是实际存在的路径,则该File对象表示的是目录;
    如果path是文件名,则该File对象表示的是文件。

    (2)获取文件名称和路径
    String getPath()方法返回File对象的路径
    String getAbsolutePath()方法返回File对象的绝对路径

    (3)测试文件的属性
    boolean exists( )检查File文件是否存在
    boolean canWrite( )回当前文件是否可写
    boolean isDirectory( )检测是否是目录
    (4)创建或删除文件、目录
    public boolean createNewFile() throws IOException :创建文件
    boolean mkdir()和boolean mkdirs():创建目录。创建目录的位置完全取决于File对象的路径。
    boolean delete():删除文件或目录,删除目录时,应该保证所删目录是一个空目录,否则删除操作失败
    (5)目录清单
    String[] list()方法产生目录清单,只列出名称
    2.字节输出流OutputStream类
    (1)OutputStream类是一个抽象类,需要通过子类进行对象的实例化操作。
    (2)FileOutputStream子类。
    生成FileOutputStream对象时,如果文件不存在,则创建该文件供程序输出数据,如果文件已经存在,则有覆盖和附加两种输出数据的方式:
    覆盖:原文件数据被丢弃,重新输出数据;
    附加:在原文件末尾追加输出数据
    (3)字节输入流InputStream类,FileInputStream子类
    (4)字符输入/输出流Reader类/Writer类
    字节输入/输出流是以byte类型为主,字符输入/输出流是以char类型为主,且支持String的直接操作。
    Reader和Writer类是抽象类,对文件的操作要使用FileReader子类和FileWriter子类,许多方法与InputStream和OutputStream类相同。

    (二)实验总结

    实验内容:
    1.宠物商店
    使用JDBC实现宠物商店,在随笔中分析程序设计思路,用PowerDesigner画出类图结构,并对完成实验内容过程中遇到的问题、解决方案和思考等进行归纳总结,注意代码中必须有必要的注释。

    程序的设计思路:
    (1)首先用java连接数据库
    (2)重新设置SQL,创建数据库
    (3)设置端口
    (4)将数据库中的SQLQuery1.sqi导入java项目中。
    (5)书写Java代码

    (三)代码托管

    • 码云commit历史截图
  • 相关阅读:
    Java程序:从命令行接收多个数字,求和并输出结果
    大道至简读后感
    大道至简第一章读后感Java伪代码
    Creating a SharePoint BCS .NET Connectivity Assembly to Crawl RSS Data in Visual Studio 2010
    声明式验证超时问题
    Error message when you try to modify or to delete an alternate access mapping in Windows SharePoint Services 3.0: "An update conflict has occurred, and you must re-try this action"
    Upgrading or Redeploying SharePoint 2010 Workflows
    Upgrade custom workflow in SharePoint
    SharePoint 2013中Office Web Apps的一次排错
    How to upgrade workflow assembly in MOSS 2007
  • 原文地址:https://www.cnblogs.com/junjun137/p/6869852.html
Copyright © 2011-2022 走看看