会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133622个问题
人工智能/第七阶段:机器学习-无监督学习(旧)/聚类系列算法 18676楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:创建订单及订单邮件 18677楼

from dbUtil import Mydb
class MyService:

    def __init__(self):
        self.user = None
    
    def login(self,uname,password):
        sql = 'select * from t_user where uname=%s and password=%s'
        user = Mydb().query_one(sql,uname,password)
        if user:
            self.user = user
            return True
        else:
            return False
    
    def add_music(self,files):
        for f in files:
            start = f.rfind(r'/')+1
            end = f.rfind('.mp3')
            music_name = f[start:end]
            # 根据歌名查询数据库是否有该首歌
            sql = 'select * from t_music where music_name=%s'
            music = Mydb().query_one(sql,music_name)
            if music:
                # 查询关联表t_ist 该用户是否添加了这首歌
                sql = 'select * from t_list where mid=%s and uid=%s'
                t_list = Mydb().query_one(sql,music[0],self.user[0])
                if not t_list:
                    sql = 'insert into t_list(mid,uid) values(%s,%s)'
                    Mydb().exeDML(sql,music[0],self.user[0])
            else:
                # 将音乐保存到t_music表中
                sql = 'insert into t_music(music_name,path) values(%s,%s)'
                mid = Mydb().exeDML(sql,music_name,f)

                # 用户选择的音乐保存到t_list
                sql = 'insert into t_list(mid,uid) values(%s,%s)'
                Mydb().exeDML(sql,mid,self.user[0])
    
    # 查询用户的音乐列表
    def findListByUser(self):
        sql = "SELECT m.music_name FROM t_music m,t_list t where m.id=t.mid AND t.uid=%s"
        return Mydb().query_all(sql,self.user[0])

image.png

老师,我在显示列表的时候总是显示这个错误,说我t.uid=%s错误,但是我直接把%s换成1的话就可以显示列表,不知道是什么问题,求老师解答

Python 全系列/第六阶段:数据库与AI协同技术实战/项目-音乐播放器-旧 18678楼
JAVA 全系列/第十八阶段:亿级高并发电商项目_架构/编码(旧)/电商:创建订单及订单邮件 18679楼
Python 全系列/第六阶段:数据库与AI协同技术实战/mysql的使用 18681楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 18682楼
JAVA 全系列/第八阶段:Linux入门到实战/Git 18684楼
Python 全系列/第二十阶段:数据分析-数据管理/Pandas的使用 18685楼
Python 全系列/第十九阶段:数据分析-数据可视化/seaborn 18686楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 18687楼

package com.example.dao.DaoImpl;

import com.example.dao.DaoInterface.Dao_UserLoginInterface;
import com.example.pojo.Users;
import com.example.utils.JdbcUtils;

import java.sql.*;

public class Dao_UserLoginImplClass implements Dao_UserLoginInterface {

    /**
     * 用户登录数据库查询
     * @param username
     * @param userpwd
     * @return
     */

    @Override
    public Users SelectUserByUserNameAndUserPwd(String username, String userpwd) {

        Users user = null;
        Connection conn = null;
        PreparedStatement ps = null;
        ResultSet rs = null;
        try{
            System.out.println(1);//用于定位
            conn = JdbcUtils.JDBC_Connection();
            System.out.println(2);//用于定位
            ps = conn.prepareStatement("select * from oneselfproject.user where user.UserID = ? and user.UserName = ?");
            System.out.println(3);//用于定位
            ps.setString(1,username);
            ps.setString(2,userpwd);
            System.out.println(4);//用于定位
            rs= ps.executeQuery();
            System.out.println(5);//用于定位
            while (rs.next()){
                user = new Users();
                user.setUserID(rs.getString("UserID"));
                user.setUserName(rs.getString("UserName"));
                user.setUserEmial(rs.getString("UserEmial"));
            }
        }catch (Exception e){
            e.printStackTrace();
        }finally {
            JdbcUtils.JDBC_Release_Resources(conn,ps,rs);
        }
        return user;
    }
}

老师,dao层的代码,我现在连接数据库有问题。我对他进行定位,发现现在在这里出现了问题,导致返回的对象都是null;

ps = conn.prepareStatement("select * from oneselfproject.user where user.UserID = ? and user.UserName = ?");



报错的结果:

[2021-08-03 11:54:10,892] Artifact OneSelfProject_Test:war exploded: Artifact is deployed successfully
[2021-08-03 11:54:10,892] Artifact OneSelfProject_Test:war exploded: Deploy took 23,134 milliseconds
1
2
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1364)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1187)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at com.example.utils.JdbcUtils.<clinit>(JdbcUtils.java:29)
	at com.example.dao.DaoImpl.Dao_UserLoginImplClass.SelectUserByUserNameAndUserPwd(Dao_UserLoginImplClass.java:27)
	at com.example.service.ServiceImpl.Service_UserLoginImplClass.ServiceUserLoginClass(Service_UserLoginImplClass.java:13)
	at com.example.servlet.Login.UserLoginServlet.doPost(UserLoginServlet.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/oneselfproject?useUnicode=true&characterEncoding=utf8
	at java.sql.DriverManager.getConnection(DriverManager.java:689)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at com.example.utils.JdbcUtils.JDBC_Connection(JdbcUtils.java:42)
	at com.example.dao.DaoImpl.Dao_UserLoginImplClass.SelectUserByUserNameAndUserPwd(Dao_UserLoginImplClass.java:27)
	at com.example.service.ServiceImpl.Service_UserLoginImplClass.ServiceUserLoginClass(Service_UserLoginImplClass.java:13)
	at com.example.servlet.Login.UserLoginServlet.doPost(UserLoginServlet.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)
java.lang.NullPointerException
	at com.example.dao.DaoImpl.Dao_UserLoginImplClass.SelectUserByUserNameAndUserPwd(Dao_UserLoginImplClass.java:29)
	at com.example.service.ServiceImpl.Service_UserLoginImplClass.ServiceUserLoginClass(Service_UserLoginImplClass.java:13)
	at com.example.servlet.Login.UserLoginServlet.doPost(UserLoginServlet.java:37)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:652)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:542)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:143)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:374)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:887)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1684)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:748)

为什么在这里会出现这种问题???

JAVA 全系列/第六阶段:JavaWeb开发/Web实战案例 18688楼
Python 全系列/第一阶段:Python入门/控制语句 18689楼
JAVA 全系列/第二阶段:JAVA 基础深化和提高/反射技术(旧) 18690楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

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