Uno, los pasos básicos del uso de JDBC para operar la base de datos
En segundo lugar, la base de datos
(1) Base de la base de datos
1. Seleccionar declaración (usada para consultar datos en la tabla de datos)
2. Insertar declaración (usada para insertar nuevos datos en la tabla de datos)
3. Actualizar declaración (usada para modificar los datos en la tabla de datos)
4. Eliminar declaración (usada para Eliminar los datos en la tabla de datos)
(2) Conectarse a la base de datos
Errores comunes al conectarse a la base de datos:
3. Nombre de usuario y contraseña incorrectos
4. Versión incompatible del paquete de controladores
Caso Kangkang:
public class Demo7 {
public static void main(String[] args) {
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try {
//加载驱动包
Class.forName("com.mysql.jdbc.Driver");
//建立连接
con = DriverManager.getConnection("jdbc:mysql:///user","root","root");
//编写sql
String sql = "select * from user";
sm = con.createStatement();
rs = sm.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String username = rs.getString("username");
String password = rs.getString("password");
System.out.println("编号:"+id+"\t"+"姓名:"+username+"\t"+"密码:"+password);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(rs != null) {
if (sm != null) {
if (con != null) {
try {
rs.close();
sm.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}
(3) Consulta de base de datos
1. Consulta de base de datos
2. Crear objeto de interfaz
3. Métodos comunes de ResultSet
(4) Consulta dinámica
1. ¿Es seguro su SQL?
Para evitar esta inyección de SQL, JDBC proporciona consultas dinámicas
2. Consulta dinámica
caso de estudio:
public class Demo7 {
public static void main(String[] args) {
Connection con = null;
PreparedStatement sm = null;
ResultSet rs = null;
try {
//加载驱动包
Class.forName("com.mysql.jdbc.Driver");
//建立连接
con = DriverManager.getConnection("jdbc:mysql:///user","root","root");
//编写sql
String sql = "select * from user where username like ?";
sm = con.prepareStatement(sql);
sm.setString(1,"小%");
rs = sm.executeQuery();
while (rs.next()){
System.out.println("姓名:"+rs.getString(2)+"\t密码:"+rs.getString(3));
}
} catch (Exception e) {
e.printStackTrace();
}finally {
if(rs != null) {
if (sm != null) {
if (con != null) {
try {
rs.close();
sm.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}
3. Análisis de caso de agregar, modificar y eliminar registros
:
public class Demo7 {
public static void main(String[] args) {
Connection con = null;
Statement sm = null;
ResultSet rs = null;
try {
//加载驱动包
Class.forName("com.mysql.jdbc.Driver");
//建立连接
con = DriverManager.getConnection("jdbc:mysql:///user","root","root");
/*插入数据*/
String sql = "insert into user(username,password) values('赵亮亮','123')";
sm = con.createStatement();
int i = sm.executeUpdate(sql);
System.out.println(i);
/*修改数据*/
String sql1 = "update user set username = '赵丹' where id = 10";
sm = con.createStatement();
int j = sm.executeUpdate(sql1);
System.out.println(j);
/*删除数据*/
String sql2 = "delete from user where id = 10 ";
sm = con.createStatement();
int k = sm.executeUpdate(sql2);
System.out.println(k);
} catch (Exception e) {
e.printStackTrace();
}finally {
if(rs != null) {
if (sm != null) {
if (con != null) {
try {
rs.close();
sm.close();
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
}
}