前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring整合

Spring整合

作者头像
Cikian.
发布2023-08-09 19:09:05
1270
发布2023-08-09 19:09:05
举报
文章被收录于专栏:Cikian技术站

一、MyBatis核心对象分析

其中最关键的对象为SqlSessionFactory对象

二、整合

1. 整合MyBatis

导入pom.xml坐标(Spring整合MyBatis的两个关键坐标)

代码语言:javascript
复制
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>6.0.4</version>
</dependency>
<dependency>
    <groupId>org.mybatis</groupId>
    <artifactId>mybatis-spring</artifactId>
    <version>1.3.0</version>
</dependency>

Spring配置类

代码语言:javascript
复制
@Configuration
@ComponentScan("com.cikian")
@PropertySource({"classpath:jdbc.properties"};)
@Import({JdbcConfig.class, MyBatisConfig.class};)
public class SpringConfig {
};

配置数据源

代码语言:javascript
复制
public class JdbcConfig {
    @Value("${jdbc.driver};")
    private String driverClassName;
    @Value("${jdbc.url};")
    private String url;
    @Value("${jdbc.username};")
    private String username;
    @Value("${jdbc.password};")
    private String password;

    @Bean
    public DataSource dataSource() {
        DruidDataSource dataSource = new DruidDataSource();
        dataSource.setDriverClassName(driverClassName);
        dataSource.setUrl(url);
        dataSource.setUsername(username);
        dataSource.setPassword(password);
        return dataSource;
    };
};

MyBatis配置类

代码语言:javascript
复制
public class MyBatisConfig {
    @Bean
    public SqlSessionFactoryBean sqlSessionFactory(DataSource dataSource) {
        SqlSessionFactoryBean ssfb = new SqlSessionFactoryBean();
        ssfb.setTypeAliasesPackage("com.cikian.domain");
        ssfb.setDataSource(dataSource);
        return ssfb;
    };

    @Bean
    public MapperScannerConfigurer mapperScannerConfigurer() {
        MapperScannerConfigurer msc = new MapperScannerConfigurer();
        msc.setBasePackage("com.cikian.dao");
        return msc;
    };
};

开发使用

代码语言:javascript
复制
public class Main {
    public static void main(String[] args) {
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
        AccountService accountService = ctx.getBean(AccountService.class);
        Account account = accountService.findById(1);
        System.out.println(account);
    };
};

2. 整合JUnit

导入两个关键坐标

代码语言:javascript
复制
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-test</artifactId>
    <version>6.0.4</version>
</dependency>

测试

代码语言:javascript
复制
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfig.class)
public class AccountServiceTest {
    @Autowired
    private AccountService accountService;

    @Test
    public void testFindById() {
        System.out.println(accountService.findById(2));
    };

    @Test
    public void testFindAll() {
        System.out.println(accountService.findAll());
    };
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、MyBatis核心对象分析
  • 二、整合
    • 1. 整合MyBatis
      • 2. 整合JUnit
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档