import java.sql.*;
public class JDBC {
public static void main(String []args) throws ClassNotFoundException, SQLException {
//加载驱动
Class.forName("com.mysql.jdbc.Driver");
//建立连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
//创建语句对象
Statement st =conn.createStatement();
String sql="select * from user";
//执行语句获得查询结果
ResultSet rs=st.executeQuery(sql);
System.out.println("uid\tname\tpassword\t");
while(rs.next()) {//rs是所有行构成的结合,对集合循环遍历,.next()判断下一行有没有东西
System.out.print(rs.getString(1)+"\t");//获取第一列
System.out.print(rs.getString(2)+"\t");//获取第二列
System.out.print(rs.getString(3)+"\n");//获取第三列
}
}
}
程序运行结果:
对应数据库:
增强版:
import java.sql.*;
import java.util.Scanner;
public class JDBC {
public static void main(String []args) throws ClassNotFoundException, SQLException {
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.建立连接对象
Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test","root","root");
//3.创建语句对象
Statement st =conn.createStatement();
String sql="select * from user";
String sql2 = "insert into user values('5','dog','123456')";
//4.执行语句获得查询结果
//①查询语句用st.executeAuery(sql)
ResultSet rs=st.executeQuery(sql);
System.out.println("uid\tname\tpassword\t");
while(rs.next()) {//rs是所有行构成的结合,对集合循环遍历,.next()判断下一行有没有东西
System.out.print(rs.getString(1)+"\t");//获取第一列
System.out.print(rs.getString(2)+"\t");//获取第二列
System.out.print(rs.getString(3)+"\n");//获取第三列
}
Statement st2 =conn.createStatement();
//DML语言用st.executeUpdate(sql),返回影响的函数
int i=st2.executeUpdate(sql2);
System.out.println(i);
//练习一下怎么输入
//Scanner s=new Scanner(System.in);
//int intt=s.nextInt();
//从新查一下
ResultSet rs2=st.executeQuery(sql);
System.out.println("uid\tname\tpassword\t");
while(rs2.next()) {//rs是所有行构成的结合,对集合循环遍历,.next()判断下一行有没有东西
System.out.print(rs2.getString(1)+"\t");//获取第一列
System.out.print(rs2.getString(2)+"\t");//获取第二列
System.out.print(rs2.getString(3)+"\n");//获取第三列
}
//或者可以使用预编译
String sql3="select * from user where uid=? and name=?;";//可以使用占位符
PreparedStatement p=conn.prepareStatement(sql3);//这里就可以先传进去
p.setString(1,"1");
p.setString(2,"Admin");
ResultSet rs3=p.executeQuery();//这里就不用再传了
System.out.println("uid\tname\tpassword\t");
while(rs3.next()) {//rs是所有行构成的结合,对集合循环遍历,.next()判断下一行有没有东西
System.out.print(rs3.getString(1)+"\t");//获取第一列
System.out.print(rs3.getString(2)+"\t");//获取第二列
System.out.print(rs3.getString(3)+"\n");//获取第三列
}
}
}
运行结果:
数据库: