Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integration Mybatis with spring-data-jdbc,make mybatis can mixed with spring-data-jdbc in ONE repository [DATAJDBC-373] #598

Open
spring-projects-issues opened this issue May 16, 2019 · 6 comments
Assignees
Labels
type: enhancement A general enhancement

Comments

@spring-projects-issues
Copy link

neil4dong opened DATAJDBC-373 and commented

Integration Mybatis with spring-data-jdbc,make mybatis can mixed with spring-data-jdbc in ONE repository by annotation with @MybatisQuery

Please check out if this way is feasible ?
In my case we currently use mybatis for data access, and we are considering to migrate to spring-data-jdbc, but we have a lot of complex SQL which organized by Mybatis.

Considering the migration cost, how about use mybaitis and spring-data-jdbc together, so we can benefit form

  1. the simplicity provided form spring-data-jdbc
  2. another complex SQL solution provided by mybatis (which now only provided by QueryDsl)

Referenced from: pull request #152

@spring-projects-issues
Copy link
Author

José Miguel Sanz García commented

Agree with neil4dong. Once you have MyBatis integrated to do simple statements, why not use it to it's full potential?

Anyone would argue: ok but you can use MyBatis in parallel with Spring Data JDBC to retrieve entities using complex queries. Against that I would say that it would be a lot cleaner to access MyBatis queries through DataJDBC repositories having all the code well organized instead of having both DataJDBC and MyBatis mapper classes

@spring-projects-issues
Copy link
Author

Jens Schauder commented

If I understand this comment on the PR correct, there is a nice way to integrate MyBatis with Spring Data JDBC just through custom method implementations.

This sounds preferable to me than having an extra feature, that needs maintaining

@samyc1201
Copy link

This is nice idea.... is this in the plan?

@schauder schauder added the status: waiting-for-triage An issue we've not yet triaged label May 21, 2021
mp911de added a commit that referenced this issue Feb 21, 2022
@linghengqian
Copy link

The PR involved in this issue makes me confused. Is it trying to introduce the concept of BaseMapper similar to baomidou's Mybatis Plus to directly provide additional methods for Mapper?

@CuriousRookie
Copy link

The PR involved in this issue makes me confused. Is it trying to introduce the concept of BaseMapper similar to baomidou's Mybatis Plus to directly provide additional methods for Mapper?

maybe like this #1312

@VonChange
Copy link

I implemented such functionality by custom NamedParameterTemplate

@Configuration
public class MybatisQuerySupportConfig {
    @Bean
    public NamedParameterJdbcOperations namedParameterJdbcOperations(DataSource dataSource) {
        return new MybatisJdbcTemplate(dataSource) {@Override protected Dialect dialect() {return new MySQLDialect();}};
    }
}

then you can use like this

@Query("person.selectAllRow")
List<Person> selectAllRow();

For more details, spring-data-jdbc-demo
But this is more troublesome, I still hope you can support
another complex SQL solution provided by mybatis
you can see mybati only complex SQL solution provided No other functions

@schauder schauder removed the status: waiting-for-triage An issue we've not yet triaged label Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

6 participants