为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的mybatis存储html页面的所有代码到mysql数据库的text类型中 直接存会报错。

为什么我的mybatis存储html页面的所有代码到mysql数据库的text类型中 直接存会报错。

宝慕林4294392 2019-03-01 10:31:59
这是代码 public static void get(){ try { BufferedReader br=new BufferedReader(new FileReader(new File("tt.html"))); StringBuffer s=new StringBuffer(); String b; while ((b=br.readLine())!=null){ s.append(b+"\r\n"); } br.close(); InputStream inputStream= Resources.getResourceAsStream("mybatis_config.xml"); SqlSessionFactory sqlSessionFactory= new SqlSessionFactoryBuilder().build(inputStream); SqlSession sqlSession=sqlSessionFactory.openSession(); ArticleDao articleDao=sqlSession.getMapper(ArticleDao.class); TArticle article=new TArticle(); article.setContent(s.toString()); System.out.println(article.getContent()); article.setUuid(UUID.randomUUID().toString().replace("-","")); article.setDelsign("1"); article.setInserttime("1"); article.setIscollection("1"); article.setIsfabulous("1"); article.setIsopen("1"); article.setPointnumber("1"); article.setTitle("1"); article.setTypeid("1"); article.setUpdatetime("1"); article.setUrl("1"); article.setUserid("1"); articleDao.add(article); sqlSession.commit(); sqlSession.close(); } catch (IOException e) { e.printStackTrace(); } } 下面是异常 Exception in thread "main" org.apache.ibatis.exceptions.PersistenceException: ### Error committing transaction. Cause: org.apache.ibatis.executor.BatchExecutorException: cn.autually.dao.ArticleDao.add (batch index #1) failed. Cause: java.sql.BatchUpdateException: No value specified for parameter 1 ### Cause: org.apache.ibatis.executor.BatchExecutorException: cn.autually.dao.ArticleDao.add (batch index #1) failed. Cause: java.sql.BatchUpdateException: No value specified for parameter 1 at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30) at org.apache.ibatis.session.defaults.DefaultSqlSession.commit(DefaultSqlSession.java:227) at org.apache.ibatis.session.defaults.DefaultSqlSession.commit(DefaultSqlSession.java:218) at service.sss.get(sss.java:59) at service.sss.main(sss.java:25) Caused by: org.apache.ibatis.executor.BatchExecutorException: cn.autually.dao.ArticleDao.add (batch index #1) failed. Cause: java.sql.BatchUpdateException: No value specified for parameter 1 at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:146) at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:129) at org.apache.ibatis.executor.BaseExecutor.flushStatements(BaseExecutor.java:122) at org.apache.ibatis.executor.BaseExecutor.commit(BaseExecutor.java:242) at org.apache.ibatis.executor.CachingExecutor.commit(CachingExecutor.java:119) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63) at com.sun.proxy.$Proxy11.commit(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.commit(DefaultSqlSession.java:224) ... 3 more Caused by: java.sql.BatchUpdateException: No value specified for parameter 1 at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:1666) at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1082) at org.apache.ibatis.executor.BatchExecutor.doFlushStatements(BatchExecutor.java:122) ... 14 more 我试着输出了读出来的s,跟html的内容一样,但就是存不到数据库里,不知道为什么,求大神指点
查看完整描述

3 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

找到问题了,是因为我用的自己写的注解动态sql,如果储存的字符串中有单引号''就会导致录不进去,没有单引号就没问题,用mybatis逆向工程生成的mapper执行一次储存就没问题.....这个是我暂时发现的直接原因,至于根本原因,还不清楚...

查看完整回答
反对 回复 2019-03-01
?
杨魅力

TA贡献1811条经验 获得超6个赞

failed. Cause: java.sql.BatchUpdateException: No value specified for parameter 1

这句话说你sql语句的一个参数没有指定值给他
比如:

select * from employee where name =?

然后name没有指定值给它,就会报这个错误。

查看完整回答
反对 回复 2019-03-01
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

前面实体类中 那么多 set 1的 这些数据类型都是字符串吗??

查看完整回答
反对 回复 2019-03-01
  • 3 回答
  • 0 关注
  • 1562 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号