数据库:
create table STUDENT
(
STUID NUMBER(9) not null,
SNAME VARCHAR2(50) not null,
SEX VARCHAR2(4),
ADDRESS VARCHAR2(50),
BIRTHDAY DATE
)
目录结构:
aaarticlea/png;base64,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" alt="" width="326" height="347" />
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<Student> findAll();
}
StudentMapper.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="com.mapper.IStudentMapper">
<!-- Student返回类型映射声明 -->
<resultMap type="com.bean.Student" id="studentResultMap">
<id property="stuid" column="stuid"></id>
<result property="sname" column="sname"></result>
<result property="sex" column="sex"></result>
<result property="address" column="address"></result>
<result property="birthday" column="birthday"></result>
</resultMap>
<insert id="save" parameterType="com.bean.Student">
insert into student values(seqstu.nextval,#{sname},#{sex},#{address},#{birthday})
</insert> <update id="update" parameterType="com.bean.Student">
update student set sname=#{sname},sex=#{sex},address=#{address},birthday=#{birthday} where stuid=#{stuid}
</update> <delete id="delById" parameterType="java.lang.Integer">
delete from student where stuid=#{sid}
</delete> <select id="findById" parameterType="java.lang.Integer" resultType="com.bean.Student">
select * from student where stuid=#{sid}
</select>
<!--
<select id="findAll" resultMap="studentResultMap">
select * from student where 1=1
</select>
-->
</mapper>
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:
<?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>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC" />
<dataSource type="POOLED">
<property name="driver" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@localhost:1521:orcl" />
<property name="username" value="system" />
<property name="password" value="java" />
</dataSource>
</environment>
</environments> <mappers>
<mapper resource="com/mapper/StudentMapper.xml" />
</mappers> </configuration>
然后运行就出错了。。。。
望有大神给出有效建议!!
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