- 实验结果
- 1、数据查询
- 2、数据插入
- 3、数据修改
- 4、数据删除
- 源代码
- Main类,程序开始于执行Main类的main方法
- 按参数查询:PreparedStatmentExecute
- 按参数修改 :PreparedStatementExcuteUpdate
- 按参数删除:PreparedStatementExecuteDelete
- 按参数插入 :PreparedStatementExecuteInsert
- 查询全表(执行默认的SQL语句)和按照SQL语句查询(在Main类中修改this.string_sql,使之执行自定义输入的SQL语句): StatementExcute
- 按SQL语句、插入、删除、修改: StatementExcuteUpdate
"C:Program FilesJavajdk-16.0.2binjava.exe" "-javaagent:D:IDEAIntelliJ IDEA 2021.2libidea_rt.jar=62520:D:IDEAIntelliJ IDEA 2021.2bin" -Dfile.encoding=UTF-8 -classpath E:CODING__ALAN_CFJAVAExperimet_JavaoutproductionExperimet_Java;E:CODING__ALAN_CFJAVAmysql-connector-java-8.0.23mysql-connector-java-8.0.23.jar EX7.Main ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 1 *****1、查询全表数据***** *****2、单个参数查询***** *****3、输入语句查询***** 1 ALAN M 15 friend m 15 frank m 16 student m 10 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 1 *****1、查询全表数据***** *****2、单个参数查询***** *****3、输入语句查询***** 2 *****1、按姓名查询***** *****2、按性别查询***** *****3、按年龄查询***** 1 请输入姓名: frank frank m 16 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 1 *****1、查询全表数据***** *****2、单个参数查询***** *****3、输入语句查询***** 2 *****1、按姓名查询***** *****2、按性别查询***** *****3、按年龄查询***** 2 请输入性别: m friend m 15 frank m 16 student m 10 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 1 *****1、查询全表数据***** *****2、单个参数查询***** *****3、输入语句查询***** 2 *****1、按姓名查询***** *****2、按性别查询***** *****3、按年龄查询***** 3 请输入年龄: 10 student m 10 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 1 *****1、查询全表数据***** *****2、单个参数查询***** *****3、输入语句查询***** 3 请输入SQL语句: select * from student_x where name='frank'; frank m 16 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 5 Process finished with exit code 02、数据插入
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
2
*****1、输入具体SQL语句进行数据插入*****
*****2、输入字段参数进行数据插入 *****
2
请输入要插入数据的内容
***Name***Sex***Age***
studentx fm 19
插入新记录完成,现在该表的数据如下:
ALAN M 15
friend m 15
frank m 16
student m 10
studentx fm 19
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
2
*****1、输入具体SQL语句进行数据插入*****
*****2、输入字段参数进行数据插入 *****
1
请输入SQL语句:
insert into student_x values('girlfriend','fm',20);
插入新记录完成,现在该表的数据如下:
ALAN M 15
friend m 15
frank m 16
student m 10
studentx fm 19
girlfriend fm 20
****************选项****************
********1、数据查询********
********2、数据插入********
********3、数据修改********
********4、数据删除********
********5、退出系统********
5
Process finished with exit code 0
3、数据修改
****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 3 *****1、输入具体SQL语句进行数据修改***** *****2、输入字段参数进行数据修改 ***** 2 *****1、只改名字***** *****2、只改性别***** *****3、只改年龄***** 1 *****name_new*****name_old***** 输入参数: wife girlfriend 修改记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 student m 10 studentx fm 19 wife fm 20 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 3 *****1、输入具体SQL语句进行数据修改***** *****2、输入字段参数进行数据修改 ***** 2 *****1、只改名字***** *****2、只改性别***** *****3、只改年龄***** 2 *****sex_new*****name***** 输入参数: fm student 修改记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 student fm 10 studentx fm 19 wife fm 20 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 3 *****1、输入具体SQL语句进行数据修改***** *****2、输入字段参数进行数据修改 ***** 2 *****1、只改名字***** *****2、只改性别***** *****3、只改年龄***** 3 *****age_new*****name***** 输入参数: 21 wife 修改记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 student fm 10 studentx fm 19 wife fm 21 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 3 *****1、输入具体SQL语句进行数据修改***** *****2、输入字段参数进行数据修改 ***** 1 请输入SQL语句: update student_x set name='mywife' where name='wife'; 修改记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 student fm 10 studentx fm 19 mywife fm 21 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 5 Process finished with exit code 04、数据删除
****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 4 *****1、输入具体SQL语句进行数据删除***** *****2、输入字段参数进行数据删除 ***** 2 输入姓名,删除该行 mywife 删除记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 student fm 10 studentx fm 19 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 4 *****1、输入具体SQL语句进行数据删除***** *****2、输入字段参数进行数据删除 ***** 1 请输入SQL语句: delete from student_x where sex='fm'; 删除记录完成,现在该表的数据如下: ALAN M 15 friend m 15 frank m 16 ****************选项**************** ********1、数据查询******** ********2、数据插入******** ********3、数据修改******** ********4、数据删除******** ********5、退出系统******** 5 Process finished with exit code 0源代码 Main类,程序开始于执行Main类的main方法
package EX7;
import java.util.Scanner;
public class Main {
protected String string_sql;
protected String forname;
protected String url;
protected String user;
protected String password;
protected static final String string_sql_x = "select * from student_x";
protected static final String forname_x = "com.mysql.cj.jdbc.Driver";
protected static final String url_x = "jdbc:mysql://localhost:3306/test_db";
protected static final String user_x = "root";
protected static final String password_x = "123456";
public Main(String string_sql, String forname, String url, String user, String password) {
this.string_sql = string_sql;
this.forname = forname;
this.url = url;
this.user = user;
this.password = password;
}
public static void main(String[] args) throws Exception {
StatementExcute statementExcute = new StatementExcute(
"select * from student_x", forname_x,url_x,user_x,password_x);
PreparedStatementExecuteInsert preparedStatementExecuteInsert = new PreparedStatementExecuteInsert(
"insert into student_x values(?,?,?);",forname_x, url_x,user_x,password_x);
StatementExcuteUpdate statementExcuteUpdate = new StatementExcuteUpdate(
"", forname_x,url_x,user_x,password_x);
PreparedStatementExecuteDelete preparedStatementExecuteDelete = new PreparedStatementExecuteDelete(
"delete from student_x where name=?;", forname_x,url_x,user_x,password_x);
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1 = new PreparedStatementExcuteUpdate(
"update student_x set name=? where name=?",forname_x, url_x,user_x,password_x
);
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2 = new PreparedStatementExcuteUpdate(
"update student_x set sex=? where name=?",forname_x, url_x,user_x,password_x);
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3 = new PreparedStatementExcuteUpdate(
"update student_x set age=? where name=?",forname_x, url_x,user_x,password_x);
PreparedStatmentExecute preparedStatmentExecute1 = new PreparedStatmentExecute(
"select * from student_x where name=?;",forname_x, url_x,user_x,password_x);
PreparedStatmentExecute preparedStatmentExecute2 = new PreparedStatmentExecute(
"select * from student_x where sex=?;",forname_x, url_x,user_x,password_x);
PreparedStatmentExecute preparedStatmentExecute3 = new PreparedStatmentExecute(
"select * from student_x where age=?;",forname_x, url_x,user_x,password_x);
operate(statementExcute,
preparedStatementExecuteInsert,
statementExcuteUpdate,
preparedStatementExecuteDelete,
preparedStatementExcuteUpdate1,
preparedStatementExcuteUpdate2,
preparedStatementExcuteUpdate3,
preparedStatmentExecute1,
preparedStatmentExecute2,
preparedStatmentExecute3);
}
public static void show_all_table(StatementExcute statementExcute) throws Exception {
statementExcute.statementexcute("");
}
public static void show_one_table(PreparedStatmentExecute preparedStatmentExecute1,
PreparedStatmentExecute preparedStatmentExecute2,
PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
Scanner input = new Scanner(System.in);
System.out.println("*****1、按姓名查询*****");
System.out.println("*****2、按性别查询*****");
System.out.println("*****3、按年龄查询*****");
int judge_select = input.nextInt();
input.nextLine();
switch (judge_select){
case 1:{
System.out.println("请输入姓名:");
String name = input.next();
input.nextLine();
preparedStatmentExecute1.preparedstatementexecute1(name);
break;
}
case 2:{
System.out.println("请输入性别:");
String sex = input.next();
input.nextLine();
preparedStatmentExecute2.preparedstatementexecute1(sex);
break;
}
case 3:{
System.out.println("请输入年龄:");
int age = input.nextInt();
input.nextLine();
preparedStatmentExecute3.preparedstatementexecute2(age);
break;
}
default:{
System.out.println("非法输入");
break;
}
}
}
public static void show_table(StatementExcute statementExcute,
PreparedStatmentExecute preparedStatmentExecute1,
PreparedStatmentExecute preparedStatmentExecute2,
PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
Scanner input = new Scanner(System.in);
System.out.println("*****1、查询全表数据*****");
System.out.println("*****2、单个参数查询*****");
System.out.println("*****3、输入语句查询*****");
int judge_select = input.nextInt();
input.nextLine();
switch(judge_select){
case 1: {
show_all_table(statementExcute);
break;
}
case 2:{
show_one_table(preparedStatmentExecute1,preparedStatmentExecute2,preparedStatmentExecute3);
break;
}
case 3:{
show_one_table_inSQL(statementExcute);
break;
}
default:{
System.out.println("非法输入");
break;
}
}
}
public static void show_one_table_inSQL(StatementExcute statementExcute) throws Exception{
Scanner input = new Scanner(System.in);
System.out.println("请输入SQL语句:");
String sql = input.nextLine();
statementExcute.string_sql = "";
statementExcute.statementexcute(sql);
statementExcute.string_sql = string_sql_x;
}
public static void insert_one(PreparedStatementExecuteInsert preparedStatementExecuteInsert) throws Exception {
Scanner input = new Scanner(System.in);
System.out.println("请输入要插入数据的内容");
System.out.println("***Name***Sex***Age***");
String name = input.next();
String sex = input.next();
int age = input.nextInt();
input.nextLine();
preparedStatementExecuteInsert.preparedstatementexecuteinsert(name,sex,age);
}
public static void do_one_in_SQL(StatementExcuteUpdate statementExcuteUpdate) throws Exception{
Scanner input = new Scanner(System.in);
System.out.println("请输入SQL语句:");
String sql = input.nextLine();
statementExcuteUpdate.statementexcuteupdate(sql);
}
public static void update_one(PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1,
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2,
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3) throws Exception{
Scanner input = new Scanner(System.in);
System.out.println("*****1、只改名字*****");
System.out.println("*****2、只改性别*****");
System.out.println("*****3、只改年龄*****");
int judge_u = input.nextInt();
input.nextLine();
switch (judge_u){
case 1:{
System.out.println("*****name_new*****name_old*****");
System.out.println("输入参数:");
String name_new = input.next();
String name_old = input.next();
input.nextLine();
preparedStatementExcuteUpdate1.preparedstatementexecuteupdate(name_new,name_old);
break;
}
case 2:{
System.out.println("*****sex_new*****name*****");
System.out.println("输入参数:");
String sex_new = input.next();
String name_s = input.next();
input.nextLine();
preparedStatementExcuteUpdate2.preparedstatementexecuteupdate(sex_new,name_s);
break;
}
case 3:{
System.out.println("*****age_new*****name*****");
System.out.println("输入参数:");
int age_new = input.nextInt();
String name_a = input.next();
input.nextLine();
preparedStatementExcuteUpdate3.prepreparedstatementexecuteupdate2(age_new,name_a);
break;
}
default:{
System.out.println("非法输入");
break;
}
}
}
public static void delete_one(PreparedStatementExecuteDelete preparedStatementExecuteDelete) throws Exception {
Scanner input = new Scanner(System.in);
System.out.println("输入姓名,删除该行");
String name = input.next();
input.nextLine();
preparedStatementExecuteDelete.preparedstatementexecutedelete(name);
}
public static void operate(StatementExcute statementExcute,
PreparedStatementExecuteInsert preparedStatementExecuteInsert,
StatementExcuteUpdate statementExcuteUpdate,
PreparedStatementExecuteDelete preparedStatementExecuteDelete,
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate1,
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate2,
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate3,
PreparedStatmentExecute preparedStatmentExecute1,
PreparedStatmentExecute preparedStatmentExecute2,
PreparedStatmentExecute preparedStatmentExecute3) throws Exception {
Scanner input = new Scanner(System.in);
while(true){
System.out.println("****************选项****************");
System.out.println("********1、数据查询********");
System.out.println("********2、数据插入********");
System.out.println("********3、数据修改********");
System.out.println("********4、数据删除********");
System.out.println("********5、退出系统********");
int x = input.nextInt();
input.nextLine();
if(x==5){
break;
}
switch(x){
case 1:{
show_table(statementExcute,
preparedStatmentExecute1,
preparedStatmentExecute2,
preparedStatmentExecute3);
break;
}
case 2:{
System.out.println("*****1、输入具体SQL语句进行数据插入*****");
System.out.println("*****2、输入字段参数进行数据插入 *****");
int judge = input.nextInt();
if(judge == 2){
insert_one(preparedStatementExecuteInsert);
}
else{
do_one_in_SQL(statementExcuteUpdate);
}
System.out.println("插入新记录完成,现在该表的数据如下:");
show_all_table(statementExcute);
break;
}
case 3:{
System.out.println("*****1、输入具体SQL语句进行数据修改*****");
System.out.println("*****2、输入字段参数进行数据修改 *****");
int judge = input.nextInt();
if(judge == 2){
update_one(preparedStatementExcuteUpdate1,
preparedStatementExcuteUpdate2,
preparedStatementExcuteUpdate3);
}
else{
do_one_in_SQL(statementExcuteUpdate);
}
System.out.println("修改记录完成,现在该表的数据如下:");
show_all_table(statementExcute);
break;
}
case 4:{
System.out.println("*****1、输入具体SQL语句进行数据删除*****");
System.out.println("*****2、输入字段参数进行数据删除 *****");
int judge = input.nextInt();
if(judge == 2){
delete_one(preparedStatementExecuteDelete);
}
else{
do_one_in_SQL(statementExcuteUpdate);
}
System.out.println("删除记录完成,现在该表的数据如下:");
show_all_table(statementExcute);
break;
}
default:{
System.out.println("非法输入");
break;
}
}
}
}
}
按参数查询:PreparedStatmentExecute
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class PreparedStatmentExecute extends Main {
public PreparedStatmentExecute(String string_sql, String forname, String url, String user, String password) {
super(string_sql, forname, url, user, password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception{
PreparedStatmentExecute preparedStatementExecute = new PreparedStatmentExecute(
"select * from student_x where name=?;",forname_x,
url_x,user_x,password_x);
}
public void preparedstatementexecute1(String name_sex) throws Exception{
//按name或者sex查询
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setString(1,name_sex);
boolean hasResultSet = preparedStatement.execute();
if(hasResultSet){
ResultSet resultSet = preparedStatement.getResultSet();
while(resultSet.next()){
System.out.println(resultSet.getString(1)+"t"
+resultSet.getString(2)+"t"
+resultSet.getInt(3)+"t");
}
if(resultSet !=null){
resultSet.close();
}
}
if(preparedStatement != null){
preparedStatement.close();
}
if(connection != null){
connection.close();
}
}
public void preparedstatementexecute2(int age) throws Exception{
//按age查询
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setInt(1,age);
boolean hasResultSet = preparedStatement.execute();
if(hasResultSet){
ResultSet resultSet = preparedStatement.getResultSet();
while(resultSet.next()){
System.out.println(resultSet.getString(1)+"t"
+resultSet.getString(2)+"t"
+resultSet.getInt(3)+"t");
}
if(resultSet !=null){
resultSet.close();
}
}
if(preparedStatement != null){
preparedStatement.close();
}
if(connection != null){
connection.close();
}
}
}
按参数修改 :PreparedStatementExcuteUpdate
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class PreparedStatementExcuteUpdate extends Main{
public PreparedStatementExcuteUpdate(String string_sql, String forname, String url, String user, String password) {
super(string_sql, forname, url, user, password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception{
PreparedStatementExcuteUpdate preparedStatementExcuteUpdate = new PreparedStatementExcuteUpdate(
"update student_x set sex=? where name=?",forname_x,
url_x,user_x,password_x);
preparedStatementExcuteUpdate.preparedstatementexecuteupdate("","");
}
public void preparedstatementexecuteupdate(String sql1,String sql2) throws Exception{
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setString(1,sql1);
preparedStatement.setString(2,sql2);
preparedStatement.executeUpdate();
if(preparedStatement != null) {
preparedStatement.close();
}
if(connection != null) {
connection.close();
}
}
public void prepreparedstatementexecuteupdate2(int sql1,String sql2) throws Exception{
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setInt(1,sql1);
preparedStatement.setString(2,sql2);
preparedStatement.executeUpdate();
if(preparedStatement != null) {
preparedStatement.close();
}
if(connection != null) {
connection.close();
}
}
}
按参数删除:PreparedStatementExecuteDelete
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class PreparedStatementExecuteDelete extends Main{
public PreparedStatementExecuteDelete(String string_sql, String forname, String url, String user, String password) {
super(string_sql, forname, url, user, password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception{
PreparedStatementExecuteDelete preparedStatementExecuteDelete = new PreparedStatementExecuteDelete(
"delete from student_x where name=?;",forname_x,
url_x,user_x,password_x);
preparedStatementExecuteDelete.preparedstatementexecutedelete("");
}
public void preparedstatementexecutedelete(String sql)throws Exception{
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setString(1,sql);
preparedStatement.executeUpdate();
if(preparedStatement != null) {
preparedStatement.close();
}
if(connection != null) {
connection.close();
}
}
}
按参数插入 :PreparedStatementExecuteInsert
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
public class PreparedStatementExecuteInsert extends Main{
public PreparedStatementExecuteInsert(String string_sql, String forname, String url, String user, String password) {
super(string_sql, forname, url, user, password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception{
PreparedStatementExecuteInsert preparedStatementExecuteInsert = new PreparedStatementExecuteInsert(
"insert into student_x values(?,?,?);",forname_x,
url_x,user_x,password_x);
preparedStatementExecuteInsert.preparedstatementexecuteinsert("Student3","male",19);
}
public void preparedstatementexecuteinsert(String name,String sex,int age) throws Exception{
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
PreparedStatement preparedStatement = connection.prepareStatement(this.string_sql);
preparedStatement.setString(1,name);
preparedStatement.setString(2,sex);
preparedStatement.setInt(3,age);
preparedStatement.executeUpdate();
if(preparedStatement != null) {
preparedStatement.close();
}
if(connection != null) {
connection.close();
}
}
}
查询全表(执行默认的SQL语句)和按照SQL语句查询(在Main类中修改this.string_sql,使之执行自定义输入的SQL语句): StatementExcute
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Objects;
public class StatementExcute extends Main {
public StatementExcute(String string_sql, String forname, String url, String user, String password) {
super(string_sql, forname, url, user, password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception {
StatementExcute statementExcute = new StatementExcute("select * from student_x;",forname_x,
url_x,user_x,password_x);
statementExcute.statementexcute("");
}
public void statementexcute(String sql) throws Exception {
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
Statement statement = connection.createStatement();
if(Objects.equals(this.string_sql, "")){
this.string_sql = sql;
}
boolean hasResultSet = statement.execute(this.string_sql);
if(hasResultSet){
ResultSet resultSet = statement.getResultSet();
while(resultSet.next()){
System.out.println(resultSet.getString(1)+"t"
+resultSet.getString(2)+"t"
+resultSet.getInt(3)+"t");
}
if(resultSet != null) {
resultSet.close();
}
}
if(statement != null) {
statement.close();
}
if(connection != null) {
connection.close();
}
}
}
按SQL语句、插入、删除、修改: StatementExcuteUpdate
出现问题的原因,这个类没问题,是因为Main类里函数的一个input.nextLine()
把它删掉就好了
package EX7;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class StatementExcuteUpdate extends Main {
StatementExcuteUpdate(String string_sql, String forname, String url, String user, String password){
super(string_sql,forname,url,user,password);
}
//这个类的main只提供单个类的功能测试,与整个程序的功能无关
public static void main(String[] args) throws Exception{
StatementExcuteUpdate statementExcuteUpdate = new StatementExcuteUpdate(
"select * from student_x;",forname_x, url_x,user_x,password_x);
statementExcuteUpdate.statementexcuteupdate("");
}
public void statementexcuteupdate(String sql) throws Exception {
Class.forName(this.forname);
Connection connection = DriverManager.getConnection(this.url,this.user,this.password);
Statement statement = connection.createStatement();
statement.executeUpdate(sql);
if(statement != null) {
statement.close();
}
if(connection != null) {
connection.close();
}
}
}



