(完整word版)Java-2实用教程(第5版)习题解答 下载本文

(4)什么叫事务,事务处理步骤是怎样的? 2.编程题

1.参照例子3,按出生日期排序mess表的记录。

2.借助例子6中的Query类,编写一个应用程序来查询MySQL数据库,程序运行时用户从命令行输入数据库名和表名,例如:

java 主类 数据库 表

2.复制到JDK的扩展目录中(即JAVA_HOME环境变量指定的JDK,见第1章的1.3.3),比如:E:\\jdk1.8\\jre\\lib\\ext。

4.事务由一组SQL语句组成,所谓事务处理是指:应用程序保证事务中的SQL语句要么全部都执行,要么一个都不执行。事务处理步骤是调用:(1)连接对象用setAutoCommit()方法关闭自动提交模式,(2)连接对象用commit()方法处理事务,(3)连接对象用rollback()方法处理事务失败。 二、编程题

1. 同时用到了例子2中的GetDBConnection类。

import java.sql.*; import java.sql.*; public class BianCheng1 {

public static void main(String args[]) { Connection con; Statement sql; ResultSet rs;

con = GetDBConnection.connectDB(\ if(con == null ) return; String sqlStr =

\ try {

sql=con.createStatement(); rs = sql.executeQuery(sqlStr); while(rs.next()) {

String number=rs.getString(1); String name=rs.getString(2); Date date=rs.getDate(3); float height=rs.getFloat(4); System.out.printf(\ System.out.printf(\

System.out.printf(\ System.out.printf(\ }

con.close(); }

catch(SQLException e) { System.out.println(e); } } }

2. 同时用到了例子6中的Query类。

import javax.swing.*; public class BianCheng2 {

public static void main(String args[]) { String [] tableHead; String [][] content; JTable table ;

JFrame win= new JFrame(); Query findRecord = new Query(); findRecord.setDatabaseName(args[0]); findRecord.setSQL(\ content = findRecord.getRecord(); tableHead=findRecord.getColumnName(); table = new JTable(content,tableHead); win.add(new JScrollPane(table)); win.setBounds(12,100,400,200); win.setVisible(true);

win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }