JDBC与MYSQL连接-java
package jdbc1;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import org.junit.Test;
public class testlogin {
@Test
public void testogin()
{
try {
login1("sz' or 'sz","sz");
} catch (Exception e) {
e.printStackTrace();
}
}
public void login(String username, String passerword) throws ClassNotFoundException, SQLException {
Class.forName("com.mysql.cj.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mystart", "root", "zhangzhibin1998");
Statement stmt = conn.createStatement();
String sql = "select * from name_test where uname='"+username+"' and upassword='"+passerword+"'";
ResultSet rs = stmt.executeQuery(sql);
if(rs.next()){
System.out.println("login success");
System.out.println(sql);
}
else {
System.out.println("uname or password error");
}
if(rs!=null) {
rs.close();
}
if(stmt!=null){
stmt.close();
}
if(conn!=null) {
conn.close();
}
}
public void login1(String username,String password) throws ClassNotFoundException, SQLException {
//注册驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//获取连接
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mystart", "root", "zhangzhibin1998");
//编写sql语句
String sql = "select * from name_test where uname=? and upassword=?";
//创建预处理对象
PreparedStatement pstmt = conn.prepareStatement(sql);
//设置参数 给占位符
pstmt.setString(1, username);
pstmt.setString(2, password);
//pstmt.execute();
//同上,执行select语句
ResultSet rs = pstmt.executeQuery();
if(rs.next()){
System.out.println("登陆成功");
System.out.println(sql);
}
else {
System.out.println("账号或密码错误");
}
if(rs!=null) {
rs.close();
}
if(pstmt!=null){
pstmt.close();
}
if(conn!=null) {
conn.close();
}
}
}
JDBC出现The server time zone value ‘?D1ú±ê×?ê±??’ is unrec问题
原因:因为安装mysql的时候时区设置的不正确 应采用+8:00格式
解决方法:cmd下运行mysql
$mysql -u root -p
$Enter password: ********
设置时区
$set global time_zone='+8:00';
$Query OK, 0 rows affected (0.00 sec)
这种方法虽然可行,但是有时一重启mysql服务后就是失效。
一劳永逸的方法
找到mysql的配置文件my.ini
加入如下几行
[mysqld]
default-time-zone='+08:00'