`

spring boot和mybatis入门

阅读更多
[size=x-large]昨天讲了一下spring boot的入门操作相信老手已经明白入门的操作,今天我来讲下我自己的心得,可能与官方有一定差异;希望对大家能有用
一:开门见山首先看工程结构

这里的包有点多大家就先把mybatis有用的先建好

二:接下里就是pom的文件代码
spring的依赖在我的前一个博文里面有这里就只给出mybatis的依赖



三:开始开发先还是看我的App吧
@EnableConfigurationProperties
@SpringBootApplication
//加载一些资源文件
@PropertySources({@PropertySource("classpath:/config/app/app-common.properties"),
    @PropertySource("classpath:/config/app/app-${spring.profiles.active}.properties")})
public class App {
  private static final Logger logger = LoggerFactory.getLogger(App.class);

  public static void main(String[] args) {
    if (System.getProperty("spring.profiles.active") == null) {
      //把测试配置文件进入进来
      System.setProperty("spring.profiles.active", "dev");
    }
    logger
        .info("已启动############################################################################################");
    SpringApplication.run(App.class, args);
  }
}


四:myabatis和mapper的java配置
mapper配置:
@Configuration
public class MapperConfig {

  @Bean
  public MapperScannerConfigurer mapperScannerConfigurer() {
    MapperScannerConfigurer configure = new MapperScannerConfigurer();
    // 扫描mapper的包
    configure.setBasePackage("com.lx.mapper");
    configure.setMarkerInterface(BaseMapper.class);
    return configure;
  }

}
mybatis的配置:
@Configuration
public class MybatisConfig {

  // 注入配置
  @Autowired
  private DataSourceConfig dataSourceConfig;

  @Bean
  @InitBinder
  public DataSource dataSource() {
    // 引用阿里连接池
    DruidDataSource ds = new DruidDataSource();
    //dataSourceConfig.getUrl()引入一些配置文件信息注入到DataSource
    ds.setUrl(dataSourceConfig.getUrl());
    ds.setUsername(dataSourceConfig.getUsername());
    ds.setPassword(dataSourceConfig.getPassword());
    ds.setInitialSize(dataSourceConfig.getInitConnSize());
    ds.setMinIdle(dataSourceConfig.getMinIdleConnSize());
    ds.setMaxActive(dataSourceConfig.getMaxActiveConnSize());
    ds.setTimeBetweenEvictionRunsMillis(60000);
    ds.setDriverClassName(dataSourceConfig.getDriver());
    ds.setMaxWait(60000);
    ds.setMinEvictableIdleTimeMillis(300000);
    ds.setTestOnBorrow(false);
    ds.setTestOnReturn(false);
    ds.setTestWhileIdle(true);
    ds.setValidationQuery("SELECT 'x'");
    ds.setPoolPreparedStatements(false);
    return ds;
  }

  // spring 事务
  @Bean(name = "txManager")
  public DataSourceTransactionManager dataSourceTransactionManager() {
    DataSourceTransactionManager txManager = new DataSourceTransactionManager();
    txManager.setDataSource(dataSource());
    return txManager;
  }

  @Bean
  public SqlSessionFactoryBean sqlSessionFactoryBean() throws IOException {
    SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
    sqlSessionFactoryBean.setDataSource(dataSource());
    sqlSessionFactoryBean.setConfigLocation(new ClassPathResource(
    // 扫描mybatis的配置文件
        "/config/mybatis/mybatis-config.xml"));
    Resource[] mapperResources = new PathMatchingResourcePatternResolver()
    // 扫描mapper
        .getResources("classpath*:/config/mybatis/mapper/*.xml");
    sqlSessionFactoryBean.setMapperLocations(mapperResources);
    return sqlSessionFactoryBean;
  }


对了忘给连接池和数据库依赖了:
<!-- database -->
		<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>druid</artifactId>
			<version>1.0.15</version>
		</dependency>
		<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
			<version>5.1.21</version>
		</dependency>


现在配置好了 基本就能运行起来了 不报错就成功了接下来就是写crud运用到tk mapper和分页插件在下一个博文讲
备注:本人也是新人很多东西写的可能不是很清楚希望大家谅解,下部有我的源码 希望大家参考

[/size]
  • 大小: 29.7 KB
  • 大小: 55.2 KB
  • 大小: 49.8 KB
2
1
分享到:
评论
1 楼 williamfan 2017-03-16  
dataSourceConfig.getUrl()这个可以直接注入吗,没看到取配置文件中的值啊

相关推荐

Global site tag (gtag.js) - Google Analytics