一:如何在IDEA中使用JDBC
1.摘要
本文章介绍了如何在IDEA中新建一个Web项目,并且使用JDBC完成数据库mysql的连接
2.声明
本篇使用的工具为:IDEA2017版本,JDK1.8版本,MySQL5.5.15版本
2.1 查看当前MySQL版本
3.准备工作
3.1 JDBC驱动下载
下载地址:https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.36.zip
文件名:mysql-connector-java-5.1.36.zip
4.开始建立项目
4.1 新建IDEA项目
4.2 由于IDEA新建项目Web目录下没有WEB-INF目录,需要手动建立
注意:修改路径为\web下
4.3 建立libs文件夹,导入JDBC驱动中的jar包,并且Add to Build path(添加为库…)
4.3.1 总结了一下解决报java.lang.ClassNotFoundException: "com.mysql.cj.jdbc.Driver"错的方法
第一步,检查 mysql-connector-java是否导进去,放在lib时候需要Add to Build path
第二步,检查mysql-connector-java jar版本是否跟本机安装的mysql版本匹配
第三步,如果确认包导进去,还是报错,极可能是自己编译文件出错,就比如我犯的错误,加了引号
4.4 编写测试代码
package zhangfushuai;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
/**
* @author shkstart
* @date 2020/11/23-12:03
*/
public class addJDBC_text01 {
public static void main(String[] args) throws ClassNotFoundException,SQLException {
//声明变量
Connection conn=null;
Statement stmt=null;
try {
//1.加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//2.创建连接对象
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/girls?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC","root","120123");
System.out.println("创建连接成功");
//3.创建statement对象
stmt=conn.createStatement();
//4.执行SQL语句
String sql="INSERT INTO `girls`.`admin`" +
" (`id`," +
" `username`," +
" `password`)" +
" VALUES ('4'," +
" '罗剑'," +
" '1234')";
int row=stmt.executeUpdate(sql);
if(row>0){
System.out.println("执行成功");
}else{
System.out.println("执行失败");
}
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}finally {
try {
if(stmt!=null){
stmt.close();
}
if(conn!=null&&conn.isClosed()==false){
conn.close();
}
}catch (SQLException e){
e.printStackTrace();
}
}
}
}
4.5 运行结果
5 可能会遇到的问题
5.1 注意创建连接对象的时候代码
conn= DriverManager.getConnection("jdbc:mysql://localhost:3306/girls?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC","root","120123");
System.out.println("创建连接成功");