JDBC
–1.概述
- 什么是JDBC:一种专门用来 通过java程序操作数据库的标准
使用步骤
- 导入jar包
- 获取数据库的链接(用户名,密码)
- 通过执行SQL语句
- 执行获取结果集
- ==========================================
- 1.注册驱动
- 2.获取数据库的链接
- 3.获取传输器,执行SQL
- 4.执行SQL语句
- 5.解析结果集
常规的连接数据库执行SQl语句
import java.sql.*;
public class Test1 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/db3?characterEncoding = utf-8";
String user= "root" ;
String pwd= "root" ;
Connection conn = DriverManager.getConnection(url, user, pwd);
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery("select * from students");
while( rs.next() ){
for (int i = 1; i <= 5 ; i++) {
System.out.println( rs.getString(i) );
System.out.println(rs.getString("sname"));
}
}
rs.close();
st.close();
conn.close();
}
}
解决上边的SQL冲突问题
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.Collection;
import java.util.Scanner;
public class Test4 {
public static void main(String[] args) throws Exception {
Class.forName("com.mysql.cj.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/db3?characterEncoding = utf-8";
Connection con = DriverManager.getConnection(url,"root","root");
System.out.println("请输入用户名");
String user = new Scanner(System.in).nextLine();
System.out.println("请输入用户名");
String pwd = new Scanner(System.in).nextLine();
String sql = "select * from user2 where name = ? and password = ?";
PreparedStatement ps = con.prepareStatement(sql);
ps.setString(1,user);
ps.setString(2,pwd);
ResultSet rs = ps.executeQuery();
if(rs.next()){
for(int i =1;i<2;i++){
System.out.println(rs.getString(i));
}
System.out.println("登录成功");
}else{
System.out.println("登录失败");
}
ps.close();
con.close();
}
}