JavaSE-11连接MySql-8.0.16的连接步骤JavaSE-11连接MySql-8.0.16的连接步骤
服务以及属性
这两项为本⼈测试⼏次后终于连接数据库的配置,服务要启动,属性的登陆设置为本地登录(仅供参考)
创建java⼯程并导⼊jar包并buildPath
本⼈使⽤的是C:\Program Files (x86)\MySQL\Connector J 8.0下的mysql-connector-java-8.0.16.jar,正是安装mysql⾥的jar包打开sqlyog图形⼯具并登陆⽤户login
java培训资料(ppt)本⼈是把全局特权和对象级别特权下需要使⽤的数据库全部勾选上,对象级别特权不勾选也是可以的
创建连接类JDBCDemo01
注意这个是Class.forName(“sql.cj.jdbc.Driver”);,Class.forName(“sql.jdbc.Driver”);会报错
package com.sikiedu.jdbc01;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
public class JDBCDemo01 {
public static void main(String[] args){
try{
Class.forName("sql.cj.jdbc.Driver");//使⽤驱动连接数据库
永久免费的自建网站//String url="jdbc:mysql://localhost:3306/test";
mysql面试题csdnString url="jdbc:mysql://localhost:3306/atguigu?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT";//设置编码格式
String user="login";
String password="123";
Connection Connection(url, user, password);
Statement ateStatement();
ResultSet uteQuery("select * from customers");
()){
System.out.Int(1)+","+rs.getString(2));
}
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(con!=null) con.close();
}catch(Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
成功显⽰数据汇编语言王爽第二版
在连接数据库前出现的问题
①连接数据库报错 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.
本⼈参考CSDN上的解决⽅案----在jdbc连接的url后⾯加上serverTimezone=GMT即可解决问题 成功连接上了
②控制台报错 Caused by: java.sql.SQLException: Access denied for user ‘AzurLane’@‘localhost’ (using password: YES)
AzurLane是本⼈的⼀个登陆⽤户,我的解决⽅案是把这个⽤户直接删除,然后创建⼀个新的⽤户login就神奇的连⼊数据库了
PreparedStatement防⽌sql注⼊
PreparedStatement 是先传⼊sql语句再设置sql语句中的?值最后调⽤executeQuery执⾏(不需要传⼊sql) public static void main(String[] args) {
// System.out.println(selectByUsernamePassword("xuefeng", "123"));
// System.out.println(selectByUsernamePassword("ssddw", " asdw 'or' 1=1"));//true sql注⼊
System.out.println(selectByUP2("xuefeng", "123"));
System.out.println(selectByUP2("ssddw", " asdw 'or' 1=1"));//false Preparement 防⽌sql注⼊
}
public static boolean selectByUsernamePassword(String username,String password) {
Connection con=null;
Statement stmt=null;
ResultSet rs=null;
try {
Class.forName("sql.cj.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/atguigu?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT"; try {
Connection(url,"login","123");
ateStatement();
String sql="select * from user where username= '"+username+"' and password = '"+password+"'";
uteQuery(sql);
()) {
return true;
}else {怎么把删除的文件复原
return false;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
try {
if(rs!=null) rs.close();
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
try {
if(stmt!=null) stmt.close();
}catch (SQLException e) {
// TODO: handle exception
e.printStackTrace();
}
try {
if(con!=null) con.close();
}catch (SQLException e) {nginx 跳转不同ip
// TODO: handle exception
e.printStackTrace();
}
}
return false;
}
public static boolean selectByUP2(String username,String password) {
Connection con=null;
PreparedStatement pstmt=null;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论