1.在MySQL中创建一个student表,向其中添加一条或多条记录,然后在控制台输出目前表中记录的总数。
package homework;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Dome {
public static void main(String[] args) {
Connection con = null;
PreparedStatement pre = null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("com.mysql.jdbc.Driver");//1.加载驱动
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/inquire?characterEncoding=utf-8","root","123");//2.建立连接
String sql = "insert into student(id,name) values(?,?)";//3.插入数据 values值为默认值
pre=con.prepareStatement(sql);
pre.setInt(1, 1);
pre.setString(2, "郭振");
pre.executeUpdate();
pre.setInt(1, 2);
pre.setString(2, "小黄");
pre.executeUpdate();
pre.setInt(1, 3);
pre.setString(2, "小涛");
pre.executeUpdate();
pre.setInt(1, 4);
pre.setString(2, "小军");
pre.executeUpdate();
pre.setInt(1, 5);
pre.setString(2, "小锋");
pre.executeUpdate();
System.out.println("更新数据成功!");
stmt=con.createStatement();
rs= stmt.executeQuery("select count(*) from student");//查询sql语句
rs.next(); //下一个节点位置
int row= rs.getInt(1); //获得整形的指定序号的值,并统计。
System.out.println("总共有"+row+"条记录");
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
rs.close(); //关闭流
stmt.close();
pre.close();
con.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
2.查询第3题中创建的student表中的所有记录,并在控制台输出每行数据,包括id值,name值。
package homework;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Dome1 {
public static void main(String[] args) {
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
try {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.建立连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/inquire","root","123");
//查询并输出学生信息
stmt=conn.createStatement();
rs=stmt.executeQuery("select*from student");
System.out.println("\t\t\t 学生表信息:");
System.out.println("\t\t\t编号\t\t姓名");
while(rs.next()) {
System.out.print("\t\t\t"+rs.getInt("id")+"\t");
System.out.print("\t"+rs.getString("name")+"\n");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
rs.close(); //关闭结果集,Statement和数据库连接
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
3.宠物主人根据控制台提示输入用户名和密码,如果输入正确,输出"用户登录成功edS否则输出"用户登录失败!"使用PreparedStatement接口实现该操作,避免SQL注入攻击。
package homework;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class Doem3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn=null;
ResultSet rs=null;
PreparedStatement pre=null;
Scanner input =new Scanner(System.in);//键盘输入
System.out.print("请输入学生编号:");
int id=input.nextInt();
System.out.print("请输入密码:");
String password=input.next();
//1.加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//2.建立连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/inquire","root","123");
//3.判断宠物主人登录是否成功
// stmt=conn.createStatement();
String sql="select*from student where id=? and password=?";
pre=conn.prepareStatement(sql);
pre.setInt(1, id);
pre.setString(2, password);
rs=pre.executeQuery();
if(rs.next()) {
System.out.println("登录成功,欢迎您!");
}else {
System.out.println("登录失败,请重新输入!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
pre.cancel();
rs.close();
conn.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}
第二种方式:
package homework;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Scanner;
public class Doem3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Connection conn=null;
Statement stmt=null;
ResultSet rs=null;
PreparedStatement pre=null;
Scanner input =new Scanner(System.in);//键盘输入
System.out.print("请输入学生编号:");
int id=input.nextInt();
System.out.print("请输入密码:");
String password=input.next();
//1.加载驱动
try {
Class.forName("com.mysql.jdbc.Driver");
//2.建立连接
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/inquire","root","123");
//3.判断宠物主人登录是否成功
stmt=conn.createStatement();
String sql="select*from student where id='"+id+"'and password='"+password+"'";
rs=stmt.executeQuery(sql);
if(rs.next()) {
System.out.println("登录成功,欢迎您!");
}else {
System.out.println("登录失败,请重新输入!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
rs.close();
stmt.close();
conn.close();
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
}