JDBC第一天~JDBC(java DataBase Connectivity,java连接数据库)
❀ 开发中需要的jar包,到maven仓库中下载:https://mvnrepository.com/
二、获取数据库连接对象Connection:
✿准备工作:
①拷贝MySQL的驱动包到项目中lib目录下;
② build path:告诉项目去哪里找字节码文件;
1,讲解:操作JDBC 的第一步:获取JDBC的连接对象(Connection)”贾琏”:
1):加载注册驱动:Class.forName(“com.mysql.jdbc.Driver”);
●为什么Class.forName(“com.mysql.jdbc.Driver”); 一行代码就可以完成加载、注册驱动操作? ① Class.forName(); 会把com.mysql.jdbc.Driver 这份字节码加载进JVM; ② 当一份字节码别加载进JVM时,就会执行该字节码中的静态代码块,在该静态代码块中有java.sql.DriverManager.registerDriver(new Driver()); |
2):获取连接:通过DriverManger类的getConnection方法来获取连接对象。
Connection conn = DriverManger.getConnection(url,username, password);
■ url:连接数据库的URL:jdbc:mysql://localhost:3306/数据库名称(Mysql8之前的)
□ 若是连接的是本机的MySQL,并且端口是默认的3306,则可以简写:jdbc:mysql:///数据库名
□ jdbc:mysql://localhost:3306/数据库名?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8
■ username:数据库的用户名:root
■ password:数据库用户的密码:admin
✿ 检测我们获取了数据库的连接:使用MySQL命令:show processlist; |
■bug: JDBC连接MySQL时发出的警告WARN: Establishing SSL connection without server's identity verification ... 解决:给url路径加上参数:useSSL=false |
✿ java中写查询操作时,要先分析结果集有什么数据类型,才知道怎么获取数据的格式来获取当前行的数据
■ mysql与java数据类型的对应:
□ varchar->String
□ text->String
□ bigInt->long
□ int -> int
□ decimal -> java.math.BigDecimal
□ date -> java.sql.Date
datatime -> java.sql.Date