1. 假设数据库herodb中有一张hero_tb表,内容如下:(可以用自己的sqlyog来创建数据库以及表结构)(18分)英雄名称 价格 是否已购买 口号
heroNamepriceboughtslogan亚克斯6300是和平是最大的谎言慎3150是您果然深思熟虑薇恩4800否 趁黑出动 凯特琳娜6300否脚印还很新鲜 索拉卡450是众星引领我走向胜利
运用JDBC知识连接操作数据库完成以下要求:a. 提示用户在控制台输入要查询的英雄名字,查询数据库,如果存在该英雄则在控制台打印出英雄所有信息;如果没有,则提示用户没有该英雄并请用户重新输入英雄名称,直到用户输入正确为止。b. 修改索拉卡的价格为460,以及将是否已购买修改为否;c. 根据表中已经购买的英雄按照价格的降序,把英雄名称写入到当前根目录下的:“hero.txt”中;PS:注意换行
package cn.mldn.demo;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Scanner;
public class TestDemo {
public static String getSql() {
System.out.println("请输入要查询姓名:");
Scanner sc = new Scanner(System.in);
String str="select*from hero_tb where heroname='"+ sc.nextLine()+"'";
return str;
}
public static void main(String[] args) throws SQLException {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
//一、连接数据库
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mydb3","root","123");
//二、创建statement
stmt=con.createStatement();
String sql=getSql();
rs=stmt.executeQuery(sql);
//三、循环遍历rs
int count=rs.getMetaData().getColumnCount();
while(rs.next()){
for(int i=1;i<=count;i++){
System.out.print(rs.getString(i));
if(i<count){
System.out.print(",");
}
}
System.out.println();
}
} catch (Exception e) {
// TODO: handle exception
throw new RuntimeException(e);
}finally{
//四、关闭连接
if(rs!=null){rs.close();}
if(stmt!=null){stmt.close();}
if(con!=null){con.close();}
}
}
}
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。