JDBC流程:
1、注册驱动
2、获取数据库连接对象
3、获取SQL语句的执行者对象
4、执行SQL语句
DML(增删改):executeUpdate
DQL(查询):executeQuery
5、处理结果集
next():该方法判断是否还有元素
有返回true
没有返回false
while(resultSet.next){
}
getXxx:
1、根据列的编号获取 getString(1)
2、根据列名获取getString(“name”)
6、关闭流释放资源
数据的查询
样例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import java.sql.*;
public class jdbc { public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=UTC","root","toor"); PreparedStatement pstmt = conn.prepareStatement("select * from tb_user"); ResultSet resultSet = pstmt.executeQuery(); while(resultSet.next()){ int id = resultSet.getInt("id"); String name = resultSet.getString("name"); String sex = resultSet.getString("sex"); String email = resultSet.getString("email"); Date date = resultSet.getDate("birthday");
System.out.println(id+" "+name+" "+sex+" "+email+" "+date);
} conn.close(); pstmt.close(); resultSet.close(); } }
|
执行效果:
当然有这个效果的前提是你需要先配好数据库,并且往数据库里面插入数据。
数据的增删改查
这里主要进行改变的是SQL的数据库语句,而代码则只需要处理语句的执行和响应结果
样例代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import java.sql.*;
public class jdbc { public static void main(String[] args) throws Exception{ Class.forName("com.mysql.jdbc.Driver"); Connection conn=DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/jdbc?serverTimezone=UTC","root","toor"); PreparedStatement pstmt = conn.prepareStatement("UPDATE tb_user set name='xiaoming' where id=?"); pstmt.setObject(1,"1"); int count = pstmt.executeUpdate();
System.out.println(count+"行收到了影响"); conn.close(); pstmt.close(); } }
|
执行结果: