Lors de l'utilisation de VS Code pour le développement java+mybatis (projet non-Maven), une erreur se produit : java.io.IOException : impossible de trouver la ressource mybatis-config.

Problèmes d'utilisation de VS Code pour le développement java+mybatis


question

Chaque application basée sur MyBatis est centrée sur une instance de SqlSessionFactory. SqlSessionFactoryBuilder peut créer une instance SqlSessionFactory à partir d'un fichier de configuration XML ou d'une instance de configuration préconfigurée. Généralement, nous utilisons le code suivant pour obtenir une instance SqlSessionFactory :

String resource = "mybatis-config.xml";  // 该xml文件配置了一个Configuration
InputStream inputStream = Resources.getResourceAsStream(resource);
SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);

Lorsque vous utilisez Idea pour le développement, il vous suffit de définir le dossier dans lequel se trouve le fichier XML comme dossier de ressources. Cependant, VS Code ne le définit pas comme fichier de ressources (peut-être qu'il y en a, mais je ne sais pas).
Lors de l'utilisation de Resources.getResourceAsXX(); dans VS Code : java.io.IOException : impossible de trouver la ressource mybatis-config.xml


Solution

Il y a deux solutions

méthode 1

Utilisez la surcharge de la méthode build pour lire le fichier directement, comme suit :

// 直接读取文件方式

// 不使用Resources类帮我们读取xml文件,我们自己读取文件
InputStream is = new FileInputStream("MybatisDemo1/resources/mybatis-config.xml");
sqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(is);

Méthode 2

Étant donné que Resources.getResourceAsXX lit le répertoire Sources (c'est-à-dire le répertoire src) par défaut, il vous suffit de placer le fichier XML dans le répertoire src (c'est-à-dire le chemin racine du code source).
Insérer la description de l'image iciEnsuite, vous pouvez utiliser le code suivant

String configName = "mybatis-config.xml";
// 加载配置文件
InputStream resourceAsStream = Resources.getResourceAsStream(configName);
// 通过SqlSessionFactoryBuilder()构建SqlSessionFactory对象
sqlSessionFactory = new SqlSessionFactoryBuilder().build(resourceAsStream);

Remarque : Peut-être que votre répertoire Sources n'est pas src. Vous pouvez vérifier votre répertoire Sources en suivant les étapes suivantes.
Ouvrez le gestionnaire de ressources et recherchez JAVA PROJECTS dans le gestionnaire de ressources . Placez la souris dessus et plusieurs icônes apparaîtront à droite. Trouvez le l'icône la plus à droite ... et cliquez, cliquez sur Configurer le chemin de classe dans le menu contextuel , et vous pourrez alors voir votre répertoire Sources.
Insérer la description de l'image ici


Résumer

Il est recommandé d'utiliser la méthode 2, car lors du développement, nous pouvons utiliser <properties resource="jdbc.properties"></properties> dans le fichier mybatis-config.xml pour introduire un autre fichier de configuration. Si nous utilisons la méthode 1, il ne sera pas trouvé. Fichier "jdbc.properties", même si le chemin complet de jdbc.properties est écrit, une erreur sera quand même signalée. Par conséquent, il est recommandé d'utiliser la méthode 2, qui place mybatis-config.xml et jdbc.properties dans le répertoire src.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45345384/article/details/121242848
conseillé
Classement