添加!DOCTYPE的方法行不通,
版本应该也没问题
文件名也没问题
就是出不来,新建了项目,配置文件换了两种写法,改了好多次,结果都是一样的错误
请大家帮我看看代码错在哪啊
首先是测试文件
package com.yangquan.test;
import com.yangquan.dao.OusersMapper;
import com.yangquan.domin.Ousers;
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 org.springframework.context.annotation.ImportResource;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
import java.io.InputStream;
public class t2 {
public static void main(String[] args){
InputStream inputStream = null;
try {
inputStream = Resources.getResourceAsStream("springApplication.xml");
}catch (IOException e){
e.printStackTrace();
}
SqlSessionFactory build = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = build.openSession();
OusersMapper ousersMapper = sqlSession.getMapper(OusersMapper.class);
Ousers ousers = (Ousers) ousersMapper.selectAll();
System.out.println(ousers);
sqlSession.close();
}
}
然后是配置文件springApplication.xml
<?xml version="1.0" encoding="utf-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd">
<context:component-scan base-package="com.yangquan"/>
<context:property-placeholder location="classpath:db.properties"/>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
>
<property name="driverClass" value="${driver}"/>
<property name="jdbcUrl" value="${url}"/>
<property name="user" value="${username}"/>
<property name="password" value="${password}"/>
<!-- c3p0连接池的私有属性 -->
<property name="maxPoolSize" value="${maxActive}"/>
<property name="minPoolSize" value="${minActive}"/>
<property name="initialPoolSize" value="${initialSize}"/>
<!-- 关闭连接后不自动commit -->
<property name="autoCommitOnClose" value="${autoCommitOnClose}"/>
<!-- 获取连接超时时间 -->
<property name="checkoutTimeout" value="${maxWait}"/>
<!-- 当获取连接失败重试次数 -->
<property name="acquireRetryAttempts" value="${acquireRetryAttempts}"/>
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--注入我们的数据源 -->
<property name="dataSource" ref="dataSource">
</property>
<property name="typeAliasesPackage" value="com.yangquan.domin"/>
<!--指定mybatis的配置文件路径,该配置文件下不需要再定义数据库连接信息和mapper信息了,但是可以有一些关于mybatis的配置信息-->
<!--扫描mapper配置文件中的.xml文件-->
<property name="mapperLocations" value="classpath*:com/yangquan/mapper/*.xml"/>
<!--设置别名-->
</bean>
<bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.yangquan.dao"/>
</bean>
<bean id="myuser" class="com.yangquan.domin.Ousers"></bean>
</beans>
我的目录结构
我的错误代码
Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 65; 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"。
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:82)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:66)
at com.yangquan.test.t2.main(t2.java:25)
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 65; 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"。
at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:263)
at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:127)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.<init>(XMLConfigBuilder.java:82)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:79)
... 2 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 65; 文档根元素 "beans" 必须匹配 DOCTYPE 根 "null"。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:284)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1601)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1879)
at
mapper的映射文件和配置文件是自动生成的,应该没错。
网上能试的方法都试过了,但都没用,求各位帮忙找找错误在哪里