博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初次使用Mybatis配置出现错误待解决
阅读量:4594 次
发布时间:2019-06-09

本文共 7158 字,大约阅读时间需要 23 分钟。

数据库:

create table STUDENT(  STUID    NUMBER(9) not null,  SNAME    VARCHAR2(50) not null,  SEX      VARCHAR2(4),  ADDRESS  VARCHAR2(50),  BIRTHDAY DATE)

 目录结构:

Student类:

package com.bean;import java.io.Serializable;import java.util.Date;import oracle.jdbc.driver.OracleDriver;public class Student implements Serializable {		private Integer stuid;	private String sname;	private String sex;	private String address;	private Date birthday;	public Student() {		super();		// TODO Auto-generated constructor stub	}	public Student(Integer stuid, String sname, String sex, String address,			Date birthday) {		super();		this.stuid = stuid;		this.sname = sname;		this.sex = sex;		this.address = address;		this.birthday = birthday;	}	public Student(String sname, String sex, String address, Date birthday) {		super();		this.sname = sname;		this.sex = sex;		this.address = address;		this.birthday = birthday;	}	//set和get就不写了 		}

 IStudentMapper接口

package com.mapper;import com.bean.*;import java.util.*;public interface IStudentMapper {	public boolean save(Student st);	public boolean update(Student st);	public boolean delById(Integer sid);	public Student findById(Integer sid);	public List
findAll();}

 StudentMapper.xml:

insert into student values(seqstu.nextval,#{sname},#{sex},#{address},#{birthday})
update student set sname=#{sname},sex=#{sex},address=#{address},birthday=#{birthday} where stuid=#{stuid}
delete from student where stuid=#{sid}
   

 TastAdd类:

package com.test;import com.bean.*;import java.io.*;import java.util.*;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 com.mapper.*;public class TastAdd {	/**	 * @param args	 */	public static void main(String[] args) {		try {			//获取资源文件的流			InputStream in=Resources.getResourceAsStream("mybatis-config.xml");						//获取SqlSessionFactory			SqlSessionFactory sqlSessionFactory=new SqlSessionFactoryBuilder().build(in);						//获取sqlSession			SqlSession session=sqlSessionFactory.openSession();						IStudentMapper dao=session.getMapper(IStudentMapper.class);						Student st=new Student("巨林", "男", "changshan", new Date());						boolean flag= dao.save(st);			if(flag){				System.out.println("保存成功!");				session.commit();			}else{				System.out.println("失败!");							}			session.close();					} catch (IOException e) {			// TODO Auto-generated catch block			e.printStackTrace();		}			}}

 mybatis-config.xml:

 然后运行就出错了。。。。

望有大神给出有效建议!!

Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException:

### Error building SqlSession.
### The error may exist in com/mapper/StudentMapper.xml
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 32; columnNumber: 10; 元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"。
    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.test.TastAdd.main(TastAdd.java:24)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 32; columnNumber: 10; 元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"。
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:115)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:95)
    at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:80)
    ... 2 more
Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 32; columnNumber: 10; 元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"。
    at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:259)
    at org.apache.ibatis.parsing.XPathParser.<init>(XPathParser.java:125)
    at org.apache.ibatis.builder.xml.XMLMapperBuilder.<init>(XMLMapperBuilder.java:78)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.mapperElement(XMLConfigBuilder.java:339)
    at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:113)
    ... 4 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 32; columnNumber: 10; 元素类型为 "mapper" 的内容必须匹配 "(cache-ref|cache|resultMap*|parameterMap*|sql*|insert*|update*|delete*|select*)+"。
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:1994)
    at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:879)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1789)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2965)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:243)
    at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:347)
    at org.apache.ibatis.parsing.XPathParser.createDocument(XPathParser.java:257)
    ... 8 more

转载于:https://www.cnblogs.com/julinhuitianxia/p/6838738.html

你可能感兴趣的文章
极速响应Excel数据报表请求的一种方法
查看>>
JDK工具(零)--简要介绍JDK1.6自带的42个工具
查看>>
where T : class泛型类型约束
查看>>
数论学习之素数
查看>>
集群 和分布式 区别和优点
查看>>
MVC架构思想
查看>>
HDU 1240 Asteroids!
查看>>
Jquery attr判断服务器单选按钮失败
查看>>
php单链表实现
查看>>
前端面试题笔记(我也在找工作,每天更新点,一起学习吧,一步一个脚印做大做强、共创辉煌)...
查看>>
网络流算法汇总
查看>>
MD5-总结
查看>>
Linq to Entity 时间差作为筛选条件产生的问题
查看>>
VysorPro助手
查看>>
wordpress添加文章浏览统计(刷新不重复)
查看>>
iTextSharp 合并PDF后,无法删除已经合并的单个文件
查看>>
JS常用类型事件
查看>>
Python:笔记(2)——函数与模块
查看>>
正则表达式
查看>>
raise指令触发异常实例
查看>>