Java第八次作业

(一)学习总结

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

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

    方法 executeUpdate()用于执行 INSERT、UPDATE 或 DELETE 语句以及 SQL DDL,executeUpdate 的返回值是一个整数(int)
      //加载数据库驱动

  Class.forName("com.mysql.jdbc.Driver");

  //使用DriverManager获取数据库连接

  Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","1234");

  //使用Connection来创建一个Statment对象

  Statement  stmt = conn.createStatement();//执行DML语句,返回受影响的记录条数

  return stmt.executeUpdate(sql);
 方法execute:
  可用于执行任何SQL语句,返回一个boolean值,表明执行该SQL语句是否返回了ResultSet。如果执行后第一个结果是ResultSet,则返回true,否则返回false。
        //加载驱动

  Class.forName(driver);

  //获取数据库连接

  conn = DriverManager.getConnection(url , user , pass);//使用Connection来创建一个Statment对象

  stmt = conn.createStatement();

  //执行SQL,返回boolean值表示是否包含ResultSetboolean hasResultSet = stmt.execute(sql);//如果执行后有ResultSet结果集

  if (hasResultSet)

  {

  //获取结果集

  rs = stmt.getResultSet();

  //ResultSetMetaData是用于分析结果集的元数据接口ResultSetMetaData rsmd = rs.getMetaData();int columnCount = rsmd.getColumnCount();

  //迭代输出ResultSet对象

  while (rs.next())

  {//依次输出每列的值

  for (int i = 0 ; i < columnCount ; i++ )

  {

  System.out.print(rs.getString(i + 1) + "/t");}

  System.out.print("/n");

  }}

  else{

  System.out.println("该SQL语句影响的记录有" + stmt.getUpdateCount() + "条");}
  两者区别具体表现:
execute方法执行返回的都是布尔值。
executeupdate返回的都是int整数类型。
execute方法在执行SQL语句的时候比较麻烦,而executeupdate比较方便。

代码

      程序设计思路:程序设计思路:编写PetStore类定义宠物的属性,Java提供的GUI默认工具类,展示图形界面
    问题1:java链接数据库出问题

代码托管
git@git.oschina.net:hebau_cs15/javacs02hxdd.git

posted @ 2017-05-18 19:52  柠檬冬冬  阅读(145)  评论(0编辑  收藏  举报