首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么不把Mybatis整合到夸克斯系统中呢?

为什么不把Mybatis整合到夸克斯系统中呢?
EN

Stack Overflow用户
提问于 2020-09-28 17:02:33
回答 2查看 391关注 0票数 3

在许多projects.If Mybatis的orm中采用MyBatis,可以快速地将基于Spring框架的应用程序转换为基于Quarkus框架的应用程序。

EN

回答 2

Stack Overflow用户

发布于 2020-09-28 19:20:48

Quarkus问题板内部有一个扩展建议:https://github.com/quarkusio/quarkus/issues/1958

你可以在它上面用+1反应来表示你的兴趣并跟随它。

甚至有一个公关为它提供支持,但几个月来似乎没有取得任何进展。

票数 1
EN

Stack Overflow用户

发布于 2021-10-10 12:15:57

当然,您可以将Mybatis集成到quarkus系统中。

quarkus-mybatis 0.0.1第一版于2020年10月发布。最新版本的quarkus-mybatis 0.0.9Jun 2021上发布。

许多公司在他们的技术堆栈中使用Quarkus,包括Backbase,Bit,JustChunks.Vodafone希腊用Quarkus取代了Spring Boot。

演示:

使用https://code.quarkus.io/创建新的Quarkus项目

将quarkus-mybatis扩展添加到您的项目中。在这里,我使用Maven进行依赖项管理。

Maven

代码语言:javascript
复制
<dependency>
    <groupId>io.quarkiverse.mybatis</groupId>
    <artifactId>quarkus-mybatis</artifactId>
    <version>0.0.9</version>
</dependency>

数据源配置:

代码语言:javascript
复制
application.properties
quarkus.datasource.db-kind = h2
quarkus.datasource.username = sa
# quarkus.datasource.password =
quarkus.datasource.jdbc.url = jdbc:h2:mem:test
quarkus.mybatis.initial-sql=schema.sql

schema.sql:

代码语言:javascript
复制
create table users
(
   id integer not null,
   firstName varchar(255) not null,
   lastName varchar(255) not null,
   emailId varchar(255) not null,
   primary key(id)
);

创建用户模型:

代码语言:javascript
复制
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private long id;
    private String firstName;
    private String lastName;
    private String emailId;

}

创建用户MyBatis存储库:

代码语言:javascript
复制
@Mapper
public interface UserRepository {

    @Select("select * from users")
    public List<User> findAll();

    @Select("SELECT * FROM users WHERE id = #{id}")
    public User findById(long id);

    @Delete("DELETE FROM users WHERE id = #{id}")
    public int deleteById(long id);

    @Insert("INSERT INTO users(id, firstName, lastName,emailId) " +
            " VALUES (#{id}, #{firstName}, #{lastName}, #{emailId})")
    public int insert(User user);

    @Update("Update users set firstName=#{firstName}, " +
            " lastName=#{lastName}, emailId=#{emailId} where id=#{id}")
    public int update(User user);
}

端点:

代码语言:javascript
复制
    @GET
    @Path("/{id}")
    @Produces(MediaType.APPLICATION_JSON)
    public User getUser(@PathParam("id") Long id) {
        return userResource.findById(id);
    }

    @PUT
    @Consumes(MediaType.APPLICATION_JSON)
    public void updateUser(User user) {
        userResource.update(user);
    }

    @POST
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public void addUser(User user) {
       userResource.insert(user);

    }

    @DELETE
    @Path("/{id}")
    public void deleteUser(@PathParam("id") Long id) {
        userResource.deleteById(id);
    }
}

构建应用程序jar文件: mvn clean包

启动应用程序: java -jar quarkus-run.jar

参考,Build REST CRUD API with Quarkus and MyBatis

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64099047

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档