这一集动态查询的意义在哪里,
调用方法传参传入一个对象,然后连接数据库根据这个对象特征来查出一堆数据,
javabean的设计就是为了跟数据库做一一对应,既然都有了对象,为什么还要去数据库里拿,
感觉多此一举,
jdbcTest.java.zip
老师这个怎么回事
INSTR中的"Contains 'a'?"不懂
查找各部门收入为部门最低的那些雇员。显示他们的名字,薪水以及部门 ID。
select em.last_name,em.salary,em.department_id from employees em where em.salary in(select min(e.salary) from employees e group by e.department_id) group by em.department_id;
这个例子逻辑不对吧
Exception in thread "main" java.lang.NullPointerException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at com.itbaizhan.JdbcTest2.main(JdbcTest2.java:32)
老师这个什么意思,照着一个一个打的完全一样咋还是报错啊
{ (department_name, location_id) { conn = ; state = ; { conn = .(); = + department_name + + location_id + ; state = conn.(); = state.(); ..(); } (e) { e.(); } { .(state, conn); } } (department_name,location_id, department_id) { conn = ; state = ; { conn = .(); state = conn.(); = + department_name + + location_id + + department_id; =state.(); ..(); } (e) { e.(); } { .(state, conn); } } ([]args){ = (); .(, , ); } }
package com.itbaizhan; import javax.swing.*; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /* 获取数据库链接测试类 */ public class JdbcTest { public static void main(String[] args) throws ClassNotFoundException, SQLException { //链接mysql数据库的url String url = "jdbc:mysql://localhost:3306/itbz useSSL = false" ; //链接数据库的用户名 String name = "root"; //链接数据库的密码 String pwd = "root"; //通过反射实现数据库驱动的加载与注册 Class.forName("com.mysql.jdbc.Driver"); //通过DriverManager对象获取数据库的链接对象 Connection connection = DriverManager.getConnection(url, name, pwd); System.out.println(connection); } }
老师我这显示链接失败是怎么回事
老师,到更换hr用户登入时,database中没有ORCL_TEST选项,手动输入后,出现问题
我的是什么问题?
jdbcTest2 { InputStream ; main(String[] args) IOException, ClassNotFoundException, SQLException { Properties prop = Properties(); InputStream is = jdbcTest2..getClassLoader().getResourceAsStream(); prop.load(is); String url = prop.getProperty(); String name = prop.getProperty(); String pwd = prop.getProperty(); String drivername = prop.getProperty(); Class.(drivername); Connection connection = DriverManager.(url,name,pwd); System..println(connection); } } 一直报错,请问这个是什么情况啊? "C:\Program Files\Java\jdk1.8.0_301\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\lib\idea_rt.jar=58786:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2021.2.2\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_301\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_301\jre\lib\rt.jar;C:\Users\zhangsiyu\IdeaProjects\mycode001\out\production\jdbcdemo;C:\Users\zhangsiyu\IdeaProjects\mycode001\jdbcdemo\lib\mysql-connector-java-5.1.48.jar" com.itbaizhan.jdbcTest2 Sun Oct 16 20:34:52 CST 2022 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. Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet successfully received from the server was 875 milliseconds ago. The last packet sent successfully to the server was 858 milliseconds ago. 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:425) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990) at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:201) at com.mysql.jdbc.MysqlIO.negotiateSSLConnection(MysqlIO.java:4869) at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1656) at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1217) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2189) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2220) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2015) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:768) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 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:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:385) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:323) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at com.itbaizhan.jdbcTest2.main(jdbcTest2.java:34) Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate) at sun.security.ssl.HandshakeContext.<init>(HandshakeContext.java:171) at sun.security.ssl.ClientHandshakeContext.<init>(ClientHandshakeContext.java:101) at sun.security.ssl.TransportContext.kickstart(TransportContext.java:238) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:394) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:373) at com.mysql.jdbc.ExportControlled.transformSocketToSSLSocket(ExportControlled.java:186) ... 18 more Process finished with exit code 1
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 updateDempartments(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) { e.printStackTrace(); } } if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } } public static void main(String[] args) { jdbcTest test = new jdbcTest(); // test.insertDepartments("研发部", 8); test.updateDempartments("教学部", 6, 6); } }
我在navicat添加外键输入mysql语句后报错
[Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY clause and contains nonaggregated column ‘information_schema.PROFILING.SEQ’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by,可是外键还是成功添加了,这是啥错误啊?
查询薪水为部门最低薪水的这道题的实现是不是写错了,比如部门1里面各员工的薪水为(5000,6000,9000,10000)最低为5000,但是部门二最低薪水为6000,那么部门一中薪水为5000和6000的两个人都会被选中。
if(resultSet.next()){ map = new HashMap<>(); ResultSetMetaData rs = resultSet.getMetaData(); for (int i = 0; i < rs.getColumnCount(); i++) { map.put(rs.getColumnName(i+1),resultSet.getObject(i+1).toString()); } }
老师在视频里的是直接用User表的列来添加,如果不确定是什么表时,我这样写试了一下可以输出。但是不知道为什么除了user表,其他的表输出时id在最后面
user:
goods:
bank:
已经解决了,不用解答了。1111111111111
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637