1. 程式人生 > 實用技巧 >springboot引入tk.mybatis

springboot引入tk.mybatis

import com.alibaba.druid.filter.Filter;
import com.alibaba.druid.pool.DruidDataSource;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import tk.mybatis.spring.annotation.MapperScan;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;

@Configuration
@MapperScan(basePackages = "cn.com.xmh.oneIbatiaMapper.mapper", sqlSessionFactoryRef = "sqlSessionFactoryBeanOrder")
public class DataBaseConfiguration {

    @Bean("dataSourceOrder")
    @Primary
    @ConfigurationProperties(prefix = "mysql.one")
    public DataSource dataSourceTemplateInsurance() {
        DruidDataSource druidDataSource = new DruidDataSource();
        List<Filter> filterList=new ArrayList<>();
//        filterList.add(wallFilterTemplateInsurance());
//        druidDataSource.setProxyFilters(filterList);
//        druidDataSource.setPassword(basePasswordProvider.getPassword(baseName));
        return druidDataSource;
    }

    @Bean(name = "sqlSessionFactoryBeanOrder")
    @Primary
    @ConfigurationProperties(prefix = "mybatis")//不需要
    public SqlSessionFactoryBean sqlSessionFactoryBeanTemplateInsurance() {
        SqlSessionFactoryBean sqlSessionFactoryBeanOrder = new SqlSessionFactoryBean();
        sqlSessionFactoryBeanOrder.setDataSource(dataSourceTemplateInsurance());
        return sqlSessionFactoryBeanOrder;
    }

}


import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
@Data
@Table(name="tbl_user")
public class MyUser {
    @Id
    @Column(name="id")
   private int id;
}



import cn.com.xmh.model.MyUser;
import cn.com.xmh.oneIbatiaMapper.OneBaseMapper;
import org.apache.ibatis.annotations.Select;
import java.util.List;
public interface OneMyTestIbatis extends OneBaseMapper<MyUser> {
    @Select("select id from tbl_user")
    List<String> selectStr();
}


@Autowired
OneMyTestIbatis oneMyTestIbatis;
System.out.println(oneMyTestIbatis.selectStr());
System.out.println(oneMyTestIbatis.selectAll());

<dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <dependency>
            <groupId>tk.mybatis</groupId>
            <artifactId>mapper</artifactId>
            <version>3.4.2</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.10</version>
            <scope>provided</scope>
        </dependency>




spring.datasource.url=jdbc:mysql://127.0.0.1/xmh
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

mysql.one.url=jdbc:mysql://127.0.0.1/xmh
mysql.one.userName=root
mysql.one.password=admin
mysql.one.initialSize= 5
mysql.one.minIdle= 5
mysql.one.maxActive= 20
mysql.one.maxWait= 6000
mysql.one.validationQuery= select 1 from dual
mysql.one.drever-class-name= com.mysql.jdbc.Driver