Mybatis入门学习(一)

Mybatis 入门学习(一)

一、mybatis的环境搭建

  1. 创建maven工程,操作pom.xml文件导入坐标
    1.1.1 加入打包方式

    <packaging>jarpackaging>
    

    1.1.2 导入mybatis的依赖

    <dependencies>
    	        <dependency>
    	            <groupId>org.mybatisgroupId>
    	            <artifactId>mybatisartifactId>
    	            <version>3.4.5version>
    	        dependency>
    	        <dependency>
    	            <groupId>mysqlgroupId>
    	            <artifactId>mysql-connector-javaartifactId>
    	            <version>5.1.6version>
    	        dependency>
    	        <dependency>
    	            <groupId>log4jgroupId>
    	            <artifactId>log4jartifactId>
    	            <version>1.2.12version>
    	        dependency>
    	        <dependency>
    	            <groupId>junitgroupId>
    	            <artifactId>junitartifactId>
    	            <version>4.10version>
    	        dependency>
    	dependencies>
    
  2. 创建实体类,操作实体类的持久层接口
    实体类:新建domain包下的User.java文件
    持久层接口:dao包下的IUserDao.java文件

  3. 创建按Mybatis的主配置文件,仓库文件夹下新建SqlMapConfig.xml文件
    Mybatis入门学习(一)_第1张图片

  4. 创建映射配置文件,IUserDao.xml文件仓库文件下新建配置每个dao的文件
    Mybatis入门学习(一)_第2张图片

二、环境搭建注意事项

  1. mybatis的映射配置文件必须和dao接口的包结构相同
  2. 映射配置文件的mapper标签namespace属性的取值必须是dao接口的全限定类名
  3. 映射配置文件的操作配置(select),id属性的取值必须是dao接口的方法名
    **上述三点都满足了之后,我们在开发中就无须再写dao的实现类!

三、Mybatis开发步骤

  1. 读取配置文件

    InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
    
  2. 创建一个SqlSessionFactory工厂

    SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
    SqlSessionFactory factory = builder.build(in);
    
  3. 使用工厂生产一个SqlSession对象

    /*因为我们只有dao的接口(里面有一个findAll方法),没有具体功能的实现
    * 想在不改变源码的基础上对已有方法增强:动态代理* */
    SqlSession session = factory.openSession();
    
  4. 使用SqlSession创建Dao接口的代理对象

    IUserDao userDao = session.getMapper(IUserDao.class);
    
  5. 使用代理对象执行方法

    List<User> users = userDao.findAll();
    for (User user:users
          ) {
       System.out.println(user);
    }
    
  6. 释放资源

    session.close();
    in.close();
    

你可能感兴趣的:(Mybatis,mybatis,java)