鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: mumei2018

[已解决]我创建了一个spring boot项目 但是8080无法访问 请问是怎么回事呢?

[复制链接]
 楼主| 发表于 2024-1-7 00:32:15 | 显示全部楼层
我尝试运行一个mybatis项目
在src/main/resources目录下的UserMapper.xml文件里 我有如下代码

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">

<mapper namespace="test">
    <select id="selectAll" resultType="com.mts.pojo.User">
        select * from tb_user;
    </select>
</mapper>


然后 在src/main/java/目录下的com.mts的包里 我建立了一个类 类里代码如下

package com.mts;


import com.mts.pojo.User;
import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import java.io.IOException;
import java.io.InputStream;
import java.util.List;

public class MybatisDemo {
    public static void main(String[] args) throws IOException {
        String resource = "org/mybatis/example/mybatis-config.xml";
        InputStream inputStream = Resources.getResourceAsStream(resource);
        SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

        SqlSession sqlSession = sqlSessionFactory.openSession();

        List<User> users = sqlSession.selectList(test.selectAll);     //在这个位置报错 提示Cannot resolve symbol 'test'
    }
}

强行运行后 报错 提示信息如下

C:\Users\mumei\IdeaProjects\mybatisTrya\mybatis_demo\src\main\java\com\mts\MybatisDemo.java:22:50
java: 找不到符号
  符号:   变量 test
  位置: 类 com.mts.MybatisDemo

请问这是什么原因 该如何解决
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-7 00:32:54 | 显示全部楼层
mumei2018 发表于 2024-01-07 00:32
我尝试运行一个mybatis项目
在src/main/resources目 ...


你在Mybatis的映射文件中定义了一个查询语句,但在代码中使用时却出现了错误。错误提示"Cannot resolve symbol 'test'"表示无法找到名为'test'的符号。这是因为你没有在代码中正确引用查询语句的ID。要解决这个问题,你需要进行以下修改:1. 在你的`UserMapper.xml`文件中,给查询语句添加一个唯一的ID,如下所示:   <select id="selectAll" resultType="com.mts.pojo.User">       select * from tb_user;   </select>2. 在你的`MybatisDemo`类中,将`users`的查询语句引用改为`"selectAll"`,如下所示:   List<User> users = sqlSession.selectList("selectAll");通过以上修改,你可以正确地引用映射文件中的查询语句,并避免错误提示。请注意,查询语句的ID应与代码中的引用保持一致,以确保正确地执行查询。希望能帮到你!如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-7 00:46:00 | 显示全部楼层
FishC 发表于 2024-1-7 00:32
你在Mybatis的映射文件中定义了一个查询语句,但在代码中使用时却出现了错误。错误提示"Cannot resolve ...

修改好后 再次运行 这次提示的错误如下

Exception in thread "main" java.io.IOException: Could not find resource org/mybatis/example/mybatis-config.xml
        at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:132)
        at org.apache.ibatis.io.Resources.getResourceAsStream(Resources.java:113)
        at com.mts.MybatisDemo.main(MybatisDemo.java:17)

Process finished with exit code 1

请问这是什么问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-7 00:46:34 | 显示全部楼层
mumei2018 发表于 2024-01-07 00:46
修改好后 再次运行 这次提示的错误如下

Exception  ...


这个错误提示表明找不到名为`org/mybatis/example/mybatis-config.xml`的资源文件。根据你的代码,应该将`mybatis-config.xml`文件放在`resources`目录下。请确保按照以下步骤进行修正:

1. 在`src/main/resources`目录下创建一个名为`mybatis-config.xml`的文件。
2. 将你的Mybatis配置内容复制到`mybatis-config.xml`文件中。

然后运行代码,看是否还会出现同样的错误。如果问题仍然存在,请确认以下几点:

1. 确保`mybatis-config.xml`文件名的拼写正确。
2. 确认`mybatis-config.xml`文件的位置是在`src/main/resources`目录下。
3. 检查`mybatis-config.xml`文件是否包含无效的XML语法错误。
4. 如果你的项目使用了Maven或Gradle等构建工具,请检查项目的构建配置文件是否正确,是否包含了`resources`目录。

希望这些解决方案能够帮助你解决问题。如有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-7 00:51:51 | 显示全部楼层
FishC 发表于 2024-1-7 00:46
这个错误提示表明找不到名为`org/mybatis/example/mybatis-config.xml`的资源文件。根据你的代码,应该 ...

你说的前三项我都完成了 文件名正确 文件在正确的目录下 没有xml的语法错误 想问问你说的 检查项目的构建配置文件是否正确要如何操作
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-7 00:52:18 | 显示全部楼层
mumei2018 发表于 2024-01-07 00:51
你说的前三项我都完成了 文件名正确 文件在正确的目录 ...


如果你使用的是Maven作为构建工具,可以按照以下步骤来检查项目的构建配置文件是否正确:1. 打开项目根目录下的`pom.xml`文件。2. 确保在`<build>`标签下有一个`<resources>`标签,如下所示:
<build>  <resources>    <resource>      <directory>src/main/resources</directory>      <filtering>true</filtering>    </resource> </resources></build>
3. 确保`<resources>`标签中包含正确的资源目录`src/main/resources`。4. 如果上述配置不存在,或者不正确,请添加或修改相应的配置。在确认这些配置之后,重新运行你的项目,看看问题是否解决。如果问题仍然存在,请提供更多的项目结构和配置信息,以便我能够更好地帮助你。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-7 03:31:36 | 显示全部楼层
FishC 发表于 2024-1-7 00:52
如果你使用的是Maven作为构建工具,可以按照以下步骤来检查项目的构建配置文件是否正确:1. 打开项目根 ...

我用spring boot stater 建了一个mybatis工程 配置好文件 写好代码后运行 出现以下错误信息 请问是什么意思 要如何解决呢?

***************************
APPLICATION FAILED TO START
***************************

Description:

Field userService in com.example.demo.controller.UserController required a bean of type 'com.example.demo.service.UserService' that could not be found.

The injection point has the following annotations:
        - @org.springframework.beans.factory.annotation.Autowired(required=true)


Action:

Consider defining a bean of type 'com.example.demo.service.UserService' in your configuration.
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-7 03:31:47 | 显示全部楼层
mumei2018 发表于 2024-01-07 03:31
我用spring boot stater 建了一个mybatis工程 配置好 ...


这个错误信息表示在`UserController`类中,注入了一个`UserService`的实例,但Spring容器找不到对应的`UserService`的bean。

要解决这个问题,你可以尝试以下几步:

1. 确保你的`UserService`类被正确地注解为一个Spring组件,比如`@Service`注解。

2. 确保你的`UserService`类所在的包被正确地扫描到了,可以使用`@ComponentScan`注解或在`@SpringBootApplication`注解上指定`basePackages`属性。

3. 如果你在`UserService`类中使用了`@Repository`注解,也需要确保该注解被正确地扫描到了。

4. 如果你的`UserService`类依赖于其他的bean,请确保这些依赖的bean也被正确注入。

5. 如果你的`UserService`类是通过接口实现的,还需要确保你在接口上使用了`@Service`或`@Component`注解。

如果以上步骤都已经检查过并且没有问题,那可能是由于配置文件中的错误导致的。请确保你的配置文件正确,并按照以下步骤进行检查:

1. 确保你的数据库配置正确,包括数据库的URL、用户名和密码。

2. 检查mybatis的配置文件,确保它正确加载了映射文件和类型处理器。

3. 检查映射文件的路径和命名是否正确。

如果你还是遇到问题,请提供相关的代码和配置信息,以便我能更好地帮助你解决问题。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-21 20:01

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表