jdbc的简单使用及注意事项

复制使用

假设数据库名为blog

jdbc:mysql://localhost:3306/blog?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false

当在Mybatis中的写法

jdbc:mysql://localhost:3306/blog?useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC

连接

String driver="com.mysql.cj.jdbc.Driver";

//在旧版本中,驱动为com.mysql.jdbc.Driver

String url="jdbc:mysql://localhost:3306/eng?serverTimezone=UTC";

//在旧版本中,不需要在末尾加上?serverTimezone=UTC

String username="root";

String password="root";

Class.forName(driver)

Connection conn=(Connection) DriverManager.getConnection(url, username, password);

此时已经建立连接

如果出现

Sat Nov 18 19:27:23 CST 2017 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

这是警告不是错误,以后使用是不影响的。大概的意思就是说建立ssl连接,但是服务器没有身份认证,这种方式不推荐使用。

String="jdbc:mysql://localhost:3306/eng?useUnicode=true&characterEncoding=utf-8&useSSL=false";

改为这样即可

 

使用

尽量使用预处理语句进行增删改查

String sql="insert into test (name,address) values(?,?)";

PreparedStatement pstmt=(PreparedStatement) conn.prepareStatement(sql);

pstmt.setString(1,"张三");

pstmt.setString(2, "山东");

pstmt.executeUpdate();

pstmt.close();

你可能感兴趣的:(sql)