【问题标题】:How to Perform proper SQL INSERT using MyBatis-SpringBoot-MySQL in XML-style?如何以 XML 样式使用 MyBatis-SpringBoot-MySQL 执行正确的 SQL INSERT?
【发布时间】:2019-10-08 08:16:03
【问题描述】:

我很难在我的 SQL 数据库中插入新数据。有人可以检查我的 mapper.xml 和 mapper.java 吗?

Actor.java POJO

@Component
public class Actor {

    private static final long serialVersionUID = 1L;

    private Integer actor_id;
    private String first_name;
    private String last_name;
    private String last_update;
    //Getters and Setters
}

ActorMapper.xml

 <insert id="insertNewActor" parameterClass="com.helios.mybatissakila.model.Actor" 
         useGeneratedKeys="true" keyColumn="actor_id" keyProperty="actor_id">
     insert into actor (first_name,last_name,last_update) 
     values (#{first_name},#{last_name},#{last_update})
 </insert>

Mapper.java 方法

List <Actor> insertNewActor(Map<String, Object> actor);

RESTController 方法

@PostMapping(value="/actors", consumes = "application/json", produces = "application/json")
    public List<Actor> insertNewActor(@RequestBody Map<String, Object> actor) {
        return actorMapper.insertNewActor(actor);
    }

数据库表结构:

另外,请注意我是否应该在 mapper.xml 中使用 parameterClass 或 parameterType?

【问题讨论】:

    标签: java spring spring-boot mybatis ibatis


    【解决方案1】:

    首先删除不需要的@Component Actor。 然后改变 mapper.java ,像这样

    int insertNewActor(Actor actor);
    

    如果失败,显示错误

    【讨论】:

    • 感谢您的提示!你能解释一下为什么不需要@Component 注解吗?
    • 演员只是一个pojo。它仅由 new 使用并设置一些值。用我的话来说,它不需要把它放到 beanFactory 中。 @Component 类通常是依赖于某个类或被依赖的类。 @Component 类通常作为tool 。最后,请原谅我糟糕的英语。你谷歌它或阅读春季文档
    猜你喜欢
    • 2019-10-03
    • 2011-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2019-10-07
    • 1970-01-01
    相关资源
    最近更新 更多