会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132883个问题
JAVA 全系列/第三阶段:数据库编程/MySQL数据库 752楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 753楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 754楼
JAVA 全系列/第三阶段:数据库编程/SQL 语言 756楼

老师 请问我一运行就提示Sat Jul 10 19:43:21 CST 2021 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.是什么情况

WARN:不建议在没有服务器身份验证的情况下建立SSL连接。 MySQL 5.5.45+、5.6.26+和5.7.6+要求如果没有设置显式选项,则默认需要建立SSL连接。 为了符合未使用SSL的现有应用程序,verifyServerCertificate属性被设置为“false”。 您需要通过设置useSSL=false显式禁用SSL,或者设置useSSL=true并为服务器证书验证提供信任库。  

package jdbcdemo;


import java.lang.instrument.ClassFileTransformer;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;


public class JDBCtest {

//向department表中添加一条数据

public void insertDepartments(String dep_name,int location_id) {

Connection conn=null;

Statement statement=null;

//驱动注册

try {

Class.forName("com.mysql.jdbc.Driver");

//创建连接

conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8", "root", "qwe555123");

String sql="insert into dep values(default,'"+dep_name+"',"+location_id+")";

statement=conn.createStatement();

int flag=statement.executeUpdate(sql);

System.out.println(flag);

} catch (Exception e) {

// TODO: handle exception

}

finally {

if (statement!=null) {

try {

statement.cancel();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

if (conn!=null) {

try {

conn.close();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

JDBCtest text=new JDBCtest();

text.insertDepartments("研发部", 8);

}


JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 757楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 758楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 759楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 760楼
JAVA 全系列/第三阶段:数据库编程/MySQL数据库 761楼
JAVA 全系列/第三阶段:数据库编程/Oracle 数据库的使用 763楼

package com.bjsxt;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class JdbcTest {
	//向Departments 表中添加一条数据
	public void insertDepartments(String department_name,int location_id){
		Connection  conn = null;
		Statement state = null;
		try {
			//驱动注册
			Class.forName("com.mysql.jdbc.Driver");
			//创建连接
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
			String sql="insert into departments values(default,'"+department_name+"',"+location_id+")";
			state = conn.createStatement();
			int flat = state.executeUpdate(sql);
			System.out.println(flat);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(state != null){
				try {
					state.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}if(conn!= null){
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
	}
	//更新Departments
	public void updateDepartments(String department_name,int location_id,int department_id){
		Connection conn =null;
		Statement state =null;
		try {
			Class.forName("com.mysql.jdbc.Driver");
			conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bjsxt?useUnicode=true&characterEncoding=utf-8","root","root");
			state=conn.createStatement();
			String sql="update departments d set d.department_name='"+department_name+"',d.location_id = "+location_id+ "where d.department_id = "+department_id;
			
			int flag= state.executeUpdate(sql);
			System.out.println(flag);
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			if(state != null){
				try {
					state.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}if(conn!= null){
				try {
					conn.close();
				} catch (SQLException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
			
		}
		
	}
	public static void main(String[] args) {
		JdbcTest test=new JdbcTest();
		//test.insertDepartments("研发部", 8);
		test.updateDepartments("教学部", 6, 6);
	}
	

}

报错

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'd.department_id = 6' at line 1
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
	at com.mysql.jdbc.Util.getInstance(Util.java:384)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3562)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3494)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1960)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2114)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2690)
	at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1648)
	at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1567)
	at com.bjsxt.JdbcTest.updateDepartments(JdbcTest.java:54)
	at com.bjsxt.JdbcTest.main(JdbcTest.java:81)

老师,这是哪里出了问题啊,找了很久也没找着原因



JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 764楼
JAVA 全系列/第三阶段:数据库编程/JDBC技术(旧) 765楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637