通过这个案例完成,对数据库的查询功能
一、基本使用方法
步骤一:创建一个新的接口在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
测试结束