用mybatis在创建SqlSessionFactory时报错。
用mybatis在创建SqlSessionFactory时报错。
java代码:
public static void analysisMapper() throws Exception{
String resource = "\\com\\deppon\\mapper\\otherReceive.xml";
Reader reader = Resources.getResourceAsReader(resource);
SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
SqlSessionFactory sessionFactory = builder.build(reader);
SqlSession session = sessionFactory.openSession();
String fileName = "E:\\dfdf.xlsx";
List<OtherReceive> lists = ExcelReader.transformStringToObject(fileName);
System.out.println(lists.size());
session.update("com.deppon.entity.OtherReceive.updateOtherReceive", lists);
session.close();
}
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.deppon.entity.OtherReceive">
<insert id="updateOtherReceive" parameterType="java.util.List">
insert into t_myTable_liqifei (FID, RECEIVABLEDATE, SUBLETNUMBER, CONTRATWORKNUM, ORIGSUBLETNUM, IFDURING, OPDIVISIONCODE, BUSIDEPTCODE, BIGAREADEPTCODE, SMALLAREADEPTCODE, SUBLETDEPTCODE, DURYRECIVABLEDEPTCODE, RENTALPRO, FINANCEDEPTCODE, PAYMENTTYPE, RECEIVABLESUBLETSUM, FACTRECEIVESUBLETSUM, FACTRECEIVEDATE, REMITTANCENUMBER, BADACCOUNTSUM, BADACCOUNTCAUSE, NOTRECYCLESUM, RECOVERY, SUBLETMONTHSUM, ORIGINALLEASEAREA, ORIGINALSUBLETPRICE, SUBLETAREA, SUBLETPRICE, LEASEENAME, GAINSUM, SUBLETSTARTDATE, SUBLETENDDATE, DEPOSITACCOUNT, RENTFREESTARTDATE, RENTFREEENDDATE, ADVANCEENDDATE, ABNORMALTYPE, ABNORMALCAUSE, CREATEUSER, CREATEDATE, UPDATEUSER, UPDATEDATE, ISFREEZE, APPROVALSTATUS, APPROVALREMARK, COMPANY)
values
<foreach collection="list" item="e" index="index" separator="," open="(" close=")">
sys_guid(), to_date(#{e.receivabledate,jdbcType=VARCHAR}, 'yyyy-mm-dd'), #{e.SUBLETNUMBER,jdbcType=VARCHAR}, #{e.CONTRATWORKNUM,jdbcType=VARCHAR}, #{e.ORIGSUBLETNUM,jdbcType=VARCHAR}, #{e.IFDURING,jdbcType=VARCHAR}, #{e.OPDIVISIONCODE,jdbcType=VARCHAR}, #{e.BUSIDEPTCODE,jdbcType=VARCHAR}, #{e.BIGAREADEPTCODE,jdbcType=VARCHAR}, #{e.SMALLAREADEPTCODE,jdbcType=VARCHAR}, #{e.SUBLETDEPTCODE,jdbcType=VARCHAR}, #{e.DURYRECIVABLEDEPTCODE,jdbcType=VARCHAR}, #{e.RENTALPRO,jdbcType=VARCHAR}, #{e.FINANCEDEPTCODE,jdbcType=VARCHAR}, #{e.PAYMENTTYPE,jdbcType=NUMBER}, #{e.RECEIVABLESUBLETSUM,jdbcType=NUMBER}, #{e.FACTRECEIVESUBLETSUM,jdbcType=NUMBER}, #{e.FACTRECEIVEDATE,jdbcType=VARCHAR}, #{e.REMITTANCENUMBER,jdbcType=VARCHAR}, #{e.BADACCOUNTSUM,jdbcType=NUMBER}, #{e.BADACCOUNTCAUSE,jdbcType=VARCHAR}, #{e.NOTRECYCLESUM,jdbcType=NUMBER}, #{e.RECOVERY,jdbcType=VARCHAR}, #{e.SUBLETMONTHSUM,jdbcType=NUMBER}, #{e.ORIGINALLEASEAREA,jdbcType=NUMBER}, #{e.ORIGINALSUBLETPRICE,jdbcType=NUMBER}, #{e.SUBLETAREA,jdbcType=NUMBER}, #{e.SUBLETPRICE,jdbcType=NUMBER}, #{e.LEASEENAME,jdbcType=VARCHAR}, #{e.GAINSUM,jdbcType=NUMBER}, to_date(#{e.SUBLETSTARTDATE,jdbcType=VARCHAR}, 'yyyy-mm-dd'), to_date(#{e.SUBLETENDDATE,jdbcType=VARCHAR}, 'yyyy-mm-dd'),
#{e.DEPOSITACCOUNT,jdbcType=NUMBER}, to_date(#{e.RENTFREESTARTDATE,jdbcType=VARCHAR},'yyyy-mm-dd'), to_date(#{e.RENTFREEENDDATE,jdbcType=VARCHAR},'yyyy-mm-dd'), to_date(#{e.ADVANCEENDDATE,jdbcType=VARCHAR},'yyyy-mm-dd'), #{e.ABNORMALTYPE,jdbcType=VARCHAR}, #{e.ABNORMALCAUSE,jdbcType=VARCHAR}, #{e.CREATEUSER,jdbcType=VARCHAR}, to_date(#{e.CREATEDATE,jdbcType=VARCHAR},'yyyy-mm-dd'), #{e.UPDATEUSER,jdbcType=VARCHAR}, to_date(#{e.UPDATEDATE,jdbcType=VARCHAR},'yyyy-mm-dd'), #{e.ISFREEZE,jdbcType=VARCHAR}, #{e.APPROVALSTATUS,jdbcType=VARCHAR}, #{e.APPROVALREMARK,jdbcType=VARCHAR}, #{e.COMPANY,jdbcType=VARCHAR}
</foreach>
</insert>
</mapper>
错误消息:
org.apache.ibatis.exceptions.PersistenceException:
### Error building SqlSession.
### The error may exist in SQL Mapper Configuration
### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.NullPointerException
at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:8)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:32)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:16)
at com.deppon.action.AnalysisMapper.analysisMapper(AnalysisMapper.java:22)
at com.deppon.action.AnalysisMapper.main(AnalysisMapper.java:35)
Caused by: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.lang.NullPointerException
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:85)
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parse(XMLConfigBuilder.java:69)
at org.apache.ibatis.session.SqlSessionFactoryBuilder.build(SqlSessionFactoryBuilder.java:30)
... 3 more
Caused by: java.lang.NullPointerException
at org.apache.ibatis.builder.xml.XMLConfigBuilder.parseConfiguration(XMLConfigBuilder.java:75)
... 5 more