第一次使用的话,需要使用mysql 的jdbc 驱动jar包
为了对数据库进行增删改查,首先需要与数据库进行连接,通常使用jdbc,具体的步骤流程如下:
-
首先建立连接,步骤是基本是固定的:
import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; public class Main { static String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT"; static String user = "root"; static String password =""; public static void main(String[] args) throws Exception { //1.注册驱动 Class.forName("com.mysql.cj.jdbc.Driver"); //2.获取连接 java.sql.Connection con = DriverManager.getConnection(url, user, password); //3.获得预处理对象 String updsql = "update student set name=? where id=?"; String selsql = "select * from student"; PreparedStatement stat = con.prepareStatement(updsql); PreparedStatement stat2 = con.prepareStatement(selsql); //4.SQL语句占位符设置实际参数 //SQL语句占位符设置实际参数(占位符就是先占住一个固定的位置,等着你再往里面添加内容的符号,广泛用于计算机中各类文档的编辑) stat.setString(1, "小明"); //索引参数1代表着sql中的第一个?号,也就是我需要将条件id所对应的name数据更新为“小明” stat.setString(2, "2016222");//索引参数2代表着sql中的第二个?号,也就是条件是id为"2016222" //5.执行SQL语句, int line = stat.executeUpdate(); //int executeUpdate(); --执行insert update delete语句。 System.out.println("更新记录数"+ line); ResultSet rs = stat2.executeQuery(selsql);//ResultSet executeQuery(); --执行select语句。 while(rs.next()) { String id = rs.getString("id"); String name = rs.getString("name"); String gendar = rs.getString("gendar"); String age = rs.getString("age"); System.out.println("id=" + id + "\tname=" + name + "\t" + "\t" + "gendar=" + gendar + "\tage=" + age); } //6.释放资源 stat.close(); stat2.close(); con.close(); } }
-
PreparedStatement
接口
Statement
对象用于将SQL语句发送到数据库中执行,并从数据库中读取结果,执行的是不带参数的静态SQL语句。
而PreparedStatement
接口是Statement
的子接口,可以用于执行动态的SQL语句的。SQL 语句被预编译并存储在PreparedStatement
对象中,然后可以使用此对象多次高效地执行该语句。当然PreparedStatement
对象也可以用于执行不带参数的预编译SQL语句。