1.问答题
(1)怎样启动Mysql数据库服务器?
(2)JDBC-MySQL数据库驱动的jar文件因该拷贝到哪个目录中?
(3)预处理语句的好处是什么?
(4)什么叫事务,事务处理步骤是怎样的?
2.编程题
1.参照例子3,按出生日期排序mess表的记录。
2.借助例子6中的Query类,编写一个应用程序来查询MySQL数据库,程序运行时用户从命令行输入数据库名和表名,例如:
java 主类 数据库 表
一、问答题
1.在MySQL安装目录的bin子目录下键入mysqld或mysqld -nt 启动MySQL数据库服务器。
2.复制到JDK的扩展目录中(即JAVA_HOME环境变量指定的JDK,见第1章的1.3.3),比如:E:\jdk1.8\jre\lib\ext。
3.减轻数据库内部SQL语句解释器的负担。
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("students","root","");
if(con == null ) return;
String sqlStr =
"select * from mess order by birthday";
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("%s\t",number);
System.out.printf("%s\t",name);
System.out.printf("%s\t",date);
System.out.printf("%.2f\n",height);
}
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("select * from "+args[1]);
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);
}
}