什么是jdbc?
java dabase connectivity,java数据库连接技术
c/s和b/s
c/s就是客户端、服务器,典型的,比如QQ飞车这个网络游戏,swing和javafx(也会用到jdbc)
b/s就是浏览器、服务器,典型的就是网站,未来的趋势
前端和数据库的关系:
web,mysql,javaee(也就是javaweb,会学jdbc)。
javaweb把前端和数据库联系起来。
javase就是java面向对象程序设计
jdbc
数据解释
com.mysql.cj.jdbc.Driver //加载驱动时用,写死的 可以兼容以前的版本,mysql是8.0必需用这个
com.mysql.jdbc.Driver //msyql五点几时用的
jdbc:mysql://localhost:3306/oo?serverTimezone=GMT%2B8
jdbc://msyql:// 写死的
localhost就是本地,相当于127.0.0.1
3306就是端口号
serverTimezone=GMT%2B8 时区,东八区,用了com.mysql.cj.jdbc.Driver必须写时区,不然会报错
com.mysql.jdbc.Driver可以不用写时区
oo是我的数据库名字
Statement的查询和新增
import java.sql.*;
public class Main {
public static void main(String[] args) throws Exception {
//加载数据库驱动 第一步
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/oo?&serverTimezone=GMT%2B8";
String username="root";
String password="root";
//连接数据库,得到连接对象 第二步
Connection conn = DriverManager.getConnection(url,username,password);
//得到Statement 对
Statement stmt = conn.createStatement();
// //执行查询
// ResultSet res = stmt.executeQuery("select * from article");
//
// //输出结果
// while(res.next()){
// System.out.println(res.getInt(1)+":"+res.getString("title"));
// }
//关闭连接,释放资源
// res.close();
//执行添加
stmt.execute("insert into article(aid,title) values(999,'感冒灵颗粒')");
stmt.close();
conn.close();
// PreparedStatement prep = conn.prepareStatement();
}
}
PrepareStatement 新增数据
import java.sql.*;
public class Main {
public static void main(String[] args) throws Exception {
//加载数据库驱动 第一步
Class.forName("com.mysql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/oo?&serverTimezone=GMT%2B8";
String username="root";
String password="root";
String sql="insert into article(aid,title) values(?,?)";
//连接数据库,得到连接对象 第二步
Connection conn = DriverManager.getConnection(url,username,password);
PreparedStatement prep = conn.prepareStatement(sql);
prep.setInt(1,666);
prep.setString(2,"aaa");
prep.execute();
prep.setInt(1,777);
prep.setString(2,"bbb");
boolean b = prep.execute();
prep.close();
conn.close();
}
}