1、首先打开iBATIS XML配置文件。
2、当x=1查询的时候列名是a, 如果第一次查询x=1,那么第二次查询x=2就会报这个错,因为ibatis保留列名为第一次查询时候的列名a,ibatis可以设置一个参数remapResults="true",每次查询都重新更新列名。
3、当出现如上的动态改变查询列,或者其他方式动态改变的时候,设置remapResults="true"这个属性,因此不至于出现“列名无效”的错误。
4、还有一种情况是,在类里面,编号动态SQL语句。
5、这样,也需要把XML增加remapResults="true"这个属性,就解决了“java.sql.SQLException: 列名无效”的问题了。
1、在列名上右击,选择里面的修改,然后点击。
2、 点击完毕之后,我们这里可以看到的是在两侧的列名值是一样的 。
3、这里我们将StudentName这一列中的最后的允许为null值,中的对勾选择。
4、 ctrl+s保存,注意了保存成功之后呢,这里的的小星号就没有了。
5、 随后在列明上右击选择刷新,就可以确认修改成功了
6、确定StudentName这一列的Not null 变为了 null。
提示列名无效,说明查询的表和字段不对应,即表中不存在查询的列名。
sql:select * from tablename t where t.name='zhangdan';
解释:如果上面tablename表中存在name字段,那么就会有正常的查询结果,如果没有name字段,那么就会报错。可以通过‘select * from tablename t ’查询下,确认字段后在添加查询条件。
是不是 数据库字段 拼错了
查询时把列名用[]括起来如[int]