Java的JDBC操作
1、基本操作
package com.company;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws Exception {
String url = "jdbc:mysql://127.0.0.1:3306/myDB";
String username = "root";
String password = "root";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "update account set money = 2000 where id = 1";
Statement stmt = conn.createStatement();
int count = stmt.executeUpdate(sql);
System.out.println(count);
stmt.close();
conn.close();
}
}
2、对于数据库的增删改来说,提交均用stmt.executeupdate(sql)
,返回的是受影响的行数。对于查,比如select * from users
, 使用ResultSet rs = stmt.executequery(sql)
,返回的是符合条件的所有数据
package com.company;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws Exception {
String url = "jdbc:mysql://127.0.0.1:3306/myDB";
String username = "root";
String password = "1234";
Connection conn = DriverManager.getConnection(url, username, password);
String sql = "select * from account";
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()){
int id = rs.getInt("id");
String name = rs.getString("name");
double money = rs.getDouble("money");
System.out.println(id);
System.out.println(name);
System.out.println(money);
System.out.println("--------------");
}
rs.close();
stmt.close();
conn.close();
}
}
3、PreparedStatement
PreparedStatement作用:预编译SQL语句并执行:预防SQL注入问题
String sql = "select * from tb_user where username = ? and password = ?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1,name);
pstmt.setString(2,pwd);
ResultSet rs = pstmt.executeQuery();