JDBC MySQL 8.0.12之后版本加载驱动与建立连接
JDBC MYSQL
1. 加载驱动Driver
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
2. 建立连接 Connection
//2.建立连接
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/test01?useSSL=false&autoReconnect=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8","root","password");
3. 执行SQL语句 Statement
-
父类 ① Statement
- 由createeStatement 创建. 用于发送简单的SQL语句(不带参数) 子类 ② PreparedStatement
- 用于发送一个或多个输入参数的SQL语句
- 效率高 可以防止SQL注入 (推荐) 子类 ③ CallableStatement
- 由方法preParCall 创建用于调用存储过程
4.常用的Statement 方法
execute() ; 运行语句,返回是否由结果集
executeQuery() ; 运行sselect 语句,返回ResultSet 结果集
executeUpdate() ; 运行 insert / updata / delete 返回更新行数
5.运行SQL语句
//插入数据
//3.执行SQL语句
String sql="insert into t_book(name,author,price,cbs) values (?,?,?,?)";//?占位符
PreparedStatement ps = con.prepareStatement(sql);
/* 一种方式
ps.setString(1,"老大是我");
ps.setString(2,"王鹏春");
ps.setDouble(3,500);
ps.setString(4,"中国人民日报");
System.out.println("插入一条记录");
*/
//第二种方式
ps.setObject(1,"老二是你");
ps.setObject(2,"王pc");
ps.setObject(3,"400");
ps.setObject(4,"上海食堂出版社");
//设置时间比较特殊
//ps.setDate(1,new java.sql.Date(System.currentTimeMillis()));
//设置当前时间 java.sql.Date() 必须是这个包下的
ps