老师帮我看下问题出在哪里

来源:2-7 自由编程

慕沐2169693

2019-11-27 23:51:49

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

       <groupId>com.imooc</groupId>
       <artifactId>idea-maven</artifactId>
       <version>1.0.0-RELEASE</version>
       <repositories>
           <repository>
               <id>aliyun</id>
               <name>aliyun</name>
               <url>https://maven.aliyun.com/repository</url>
           </repository>
       </repositories>
       <dependencies>
           <dependency>
               <groupId>org.mybatis</groupId>
               <artifactId>mybatis</artifactId>
               <version>3.5.1</version>
           </dependency>
           <dependency>
               <groupId>mysql</groupId>
               <artifactId>mysql-connector-java</artifactId>
               <version>5.1.47</version>
           </dependency>
           <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>4. 12</version>
           </dependency>
           <dependency>
               <groupId>junit</groupId>
               <artifactId>junit</artifactId>
               <version>RELEASE</version>
               <scope>test</scope>
           </dependency>
       </dependencies>


   </project>




<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
       PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
       "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
   <settings>
       <setting name="mapUnderscoreToCamelCase" value="true"/>
   </settings>
   <mappers>
       <mapper resource="class.xml"/>
   </mappers>
   <environments default="class">
       <environment id="class">
           <transactionManager type="JDBC"></transactionManager>
           <dataSource type="POOLED">
               <property name="driver" value="com.mysql.jdbc.Driver"/>
               <property name="url" value="jdbc:mysql://localhost:3306/class"/>
               <property name="username" value="root"/>
               <property name="password" value="123456"/>
           </dataSource>
       </environment>
   </environments>
</configuration>




<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
       PUBLIC "-//mybatis.org//DTD Mapper//EN"
       "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="class">
   <select id="selectAll" resultType="com.imooc.entity.Class">
       select * from student order by id;
   </select>
</mapper>



package com.imooc.utils;

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.Reader;

public class MyBatisUtils {
   private static SqlSessionFactory sqlSessionFactory = null;
   static {
       Reader reader = null;
       try {
           reader = Resources.getResourceAsReader("mybatis-config.xml");
           sqlSessionFactory = new SqlSessionFactoryBuilder().build(reader);
       } catch (IOException e) {
           e.printStackTrace();
       }
   }

   public static SqlSession openSession(){
       return sqlSessionFactory.openSession();
   }

   public static void closeSession(SqlSession sqlSession){
       if(sqlSession != null){
           sqlSession.close();
       }
   }

}



package com.imooc.entity;

public class Class {
   private Integer id;
   private Integer regno;
   private String name;
   private String sex;
   private Integer age;
   private String grade;
   private String major;

   public Class() {

   }

   public Class(Integer id, Integer regno, String name, String sex, Integer age, String grade, String major) {
       this.id = id;
       this.regno = regno;
       this.name = name;
       this.sex = sex;
       this.age = age;
       this.grade = grade;
       this.major = major;
   }

   public Integer getId() {
       return id;
   }

   public void setId(Integer id) {
       this.id = id;
   }

   public Integer getRegno() {
       return regno;
   }

   public void setRegno(Integer regno) {
       this.regno = regno;
   }

   public String getName() {
       return name;
   }

   public void setName(String name) {
       this.name = name;
   }

   public String getSex() {
       return sex;
   }

   public void setSex(String sex) {
       this.sex = sex;
   }

   public Integer getAge() {
       return age;
   }

   public void setAge(Integer age) {
       this.age = age;
   }

   public String getGrade() {
       return grade;
   }

   public void setGrade(String grade) {
       this.grade = grade;
   }

   public String getMajor() {
       return major;
   }

   public void setMajor(String major) {
       this.major = major;
   }

   @Override
   public String toString() {
       return "Class{" +
               "id=" + id +
               ", regno=" + regno +
               ", name='" + name + '\'' +
               ", sex='" + sex + '\'' +
               ", age=" + age +
               ", grade='" + grade + '\'' +
               ", major='" + major + '\'' +
               '}';
   }
}



package com.imooc.mybatis;

import com.imooc.utils.MyBatisUtils;
import org.apache.ibatis.session.SqlSession;

import java.util.List;

public class MyBatisTestor {
   public static void main(String[] args) {
       SqlSession sqlSession = null;
       try {
           sqlSession = MyBatisUtils.openSession();
           List<Class> list = sqlSession.selectList("class.selectAll");
           for (Class c : list) {
               System.out.println(c);
           }
       }catch (Exception e){
           e.printStackTrace();
       }finally {
           MyBatisUtils.closeSession(sqlSession);
       }
   }


}

写回答

1回答

好帮手慕柯南

2019-11-28

同学你好!

你的代码有两处错误

  1. 报找不到com.imooc.mybatis.utils.MyBatisUtils,原因是你的配置文件中mappers的位置写错了http://img.mukewang.com/climg/5ddf6bd30991045009060635.jpg

  2. 修改配置文件后,还会报以下错误

http://img.mukewang.com/climg/5ddf692109b0698d10200122.jpg

这是因为同学你自定义的Class类名与java中的Class类型重复了,所以报错了,你可以显示的指定一下Class的路径来确定要使用的Class是哪一个(注意:老师这里包路径与同学的不同

http://img.mukewang.com/climg/5ddf69be0934445409980212.jpg

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~

0

0 学习 · 8016 问题

查看课程