使用mybatis往Oracle中写入数据报列无效111,表或视图不存在

概述

使用mybatis往oracle中写入数据的时候,报了两个错误,首先是报Error setting null for parameter #X with JdbcType OTHER .无效的列类型,错误。第二个是报表或视图不存在

解决

第一个问题中检查入参是否为空,或者你的mapper.xml文件中insert方法是否有jdbcType属性,如果没有的话需要加上。还有一个原因是什么,你使用了mybatisplus,并在id字段上加了@TableId(type=IdType.INPUT),也会报Error setting null for parameter #X with JdbcType OTHER .无效的列类型

insert into tb_name(id,name) 
values(#{id,jdbcType=VARCHAR},#{name,jdbcType})

另一种解决方案是在配置文件中进行属性配置,不过没有,尝试过,感兴趣的,可以查下相关资料。

第二个问题是,在Oracle中写入数据,但是报表或视图不存在。

表名明明是正确的,但是,却给出了表或视图不存在。

尝试在navicat中写insert语句也不行,复制了其中的insert来查看,发现一大推的""号,这个问题是表名没有大写的原因。把表名大写改了就行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 使用 MyBatis 操作数据库,需要进行如下配置。 1. 在 pom.xml 文件添加 MyBatisMyBatis-SpringBoot-Starter 依赖。 ```xml <dependencies> <!-- MyBatis --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version> </dependency> <!-- MySQL Connector Java --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies> ``` 2. 配置数据源和 MyBatis。 在 application.properties 或 application.yml 文件添加数据库连接信息。 ```yaml spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/mybatis?useUnicode=true&characterEncoding=utf-8&useSSL=false spring.datasource.username=root spring.datasource.password=123456 mybatis.type-aliases-package=com.example.demo.entity mybatis.mapper-locations=classpath:mapper/*.xml ``` 其,`mybatis.type-aliases-package` 指定实体类的包路径,`mybatis.mapper-locations` 指定 MyBatis 的 Mapper 文件路径。 3. 定义 Mapper 文件。 在 `mybatis.mapper-locations` 指定的 Mapper 文件路径下,创建一个 `UserMapper.xml` 文件。 ```xml <mapper namespace="com.example.demo.mapper.UserMapper"> <insert id="insertUser" parameterType="com.example.demo.entity.User"> insert into user(name, age) values (#{name}, #{age}) </insert> </mapper> ``` 其,`namespace` 指定 Mapper 接口的全路径名,`insert` 标签定义了插入数据的 SQL 语句,`parameterType` 指定了传入的参数类型。 4. 定义 Mapper 接口。 创建一个 `UserMapper.java` 文件,并使用 `@Mapper` 注解将该接口标记为一个 Mapper 组件。 ```java @Mapper public interface UserMapper { void insertUser(User user); } ``` 其,`@Mapper` 注解是 MyBatis 提供的,用于标记 Mapper 组件。 5. 在业务逻辑使用 Mapper。 最后,在业务逻辑,我们可以通过调用 `userMapper.insertUser(user)` 方法来将实体类保存到数据。 ```java @Service public class UserService { @Autowired private UserMapper userMapper; public void addUser(User user) { userMapper.insertUser(user); } } ``` 以上就是使用 MyBatis 在 Spring Boot 里插入数据的步骤。如果使用 JPA 或者其他框架操作数据库,也大致类似。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值