初学JDBC遇到的坑

初学JDBC遇到的坑

java连接数据库时网上一般教程都是

 url="jdbc:mysql://localhost:3306/yourdatabase";
 String driver="com.mysql.cj.jdbc.Driver";

其中遇到的第一个问题就是com.mysql.cj.jdbc.Driver Not find。需要去

https://dev.mysql.com/downloads/connector/j/ 下载,Windows下选择Platform Independent 。之后在idea中导入。如果用的是com.mysql.jdbc.Driver,有可能会提示不规范,需要改成com.mysql.cj.jdbc.Driver
遇到的第二个问题是mysql时区问题。报错内容:

java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is
unrecognized or represents more than one time zone. You must configure
either the server or JDBC driver (via the serverTimezone configuration
property) to use a more specifc time zone value if you want to utilize
time zone support.

需要修改mysql时区,自行百度^ _ ^。或者在url后面加

?serverTimezone=GMT%2B8

jdbc:mysql://localhost:3306/yourdatabase?serverTimezone=GMT%2B8

连接代码:
public class Hell {

private static String url="jdbc:mysql://localhost:3306/Database?serverTimezone=GMT%2B8";
private static String username="root";
private static String password="root";
private static String driver="com.mysql.cj.jdbc.Driver";


public static void main(String[] args) {
   init();
}

public static void init(){
    try {
        //加载驱动  百度Class.forName(driver);用途
        Class.forName(driver);
        //连接数据库
        Connection coon=DriverManager.getConnection(url,username,password);
        //创建sql执行的实体类(由PHP转JAVA,没系统学习,错了请指导,纯属自己猜的)
        Statement sql=coon.createStatement();

        if(!coon.isClosed()){
            System.out.println("连接数据库成功");
            //select 查询语句
            String query="select * from yz_user where id=1";
            //执行sql语句
            ResultSet resultSet=sql.executeQuery(query);
            while (resultSet.next()){
            //循环查询结果,查询结果应该是数组形式,循环数组,用getString方法获取字段内容
                String name=resultSet.getString("name");
                System.out.println(name);
            }
        }else {
            System.out.println("连接数据库失败");
        }
    }catch (SQLException e){
    //报错信息
        e.printStackTrace();
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值