首页 > 技术文章 > MyBatis基本使用(使用IDEA)

star-Java 2020-12-07 15:13 原文

通过这个案例完成,对数据库的查询功能

一、基本使用方法

步骤一:创建一个新的接口在mapper文件夹下

public interface DemoMapper {
    //下面的方法就是Mybatis实现的查询方法了
    //不需要编写实现类
    @Select("select username from vrduser where id=1")
    public String hello();​
}

步骤二:在MybatisConfig中配置类SqlSessionFactory

1.SqlSessionFactory类的作用:自动生成实现类

   类上加了注解@MapperScan("cn.tedu.mapper")

   表示指定SqlSessionFactory类要扫描并生成实现类的包

@PropertySource("classpath:jdbc.properties")
@MapperScan("cn.tedu.mapper")
public class MyBatisConfig {​
    //SqlSessionFactory这个类时Mybatis中的一个重要的类
    //它的功能非常强大,能根据接口中声明的信息,自动实现这个接口的实现类,并将这个实现类注入到Spring容器以便我们使用
    @Bean
    public SqlSessionFactory sqlSessionFactory(
            DataSource dataSource) throws Exception {
        SqlSessionFactoryBean bean=
                new SqlSessionFactoryBean();
        bean.setDataSource(dataSource);
        return bean.getObject();
    }​
}

2.配置完毕,进行测试

public class Test{
    AnnotationConfigApplicationContext ctx;
    @Before
    public void berfore(){
        ctx = new AnnotationConfigApplicationContext(Mybaits_Config.class);
        System.out.println("测试开始");
    }
    @Test
    public void TestFactory(){
        SqlSessionFactory factory = ctx.getBean("sqlSessionFactory",SqlSessionFactory.class);
        System.out.println(factory);
    }

    //执行Mapper接口中的方法
    @Test
    public void testUsernamme(){
        DemoMapper mapper = ctx.getBean("demoMapper",DemoMapper.class);
        String name = mapper.hello();
        System.out.println(name);
    }

    @After
    public void after(){
        System.out.println("测试结束");
        ctx.close();
    }
}

@Test  TestFactory:所测试的是,查看是否可以成功获取SqlSessionFactory类配置成功

输出:

测试开始
org.apache.ibatis.session.defaults.DefaultSqlSessionFactory@7748410a
测试结束

@Test  testUsernamme:获取接口DemoMapper中的方法并执行

输出:

测试开始
admin
测试结束

 

推荐阅读