Mybatis框架入门


首先,先说一下写这个入门程序的需求与开发步骤:

  1. 需求:使用Mybatis从数据库中查询出数据。???
  2. 开发步骤:???
    1. 准备MySQL数据库,创建表结构添加一些数据
    2. 创建Java工程,导入开发用的jar包
    3. 编写实体类,和表结构对应,用来进行数据的封装
    4. 编写映射配置文件(其中包括数据库连接信息),加载映射配置文件
    5. 编写入门的代码

那前三步就不说了有一些基础就可以办到

在写配置文件的时候,主要编写两种配置文件,第一种为主配置文件,管理其他和接口对应的配置文件。

在编写主配置文件时,主要有两点:

  1. 配置环境们(需要设置默认环境)
  2. 配置具体环境
    1. 配置事务类型
      
      
    2. 配置是否使用数据库连接池
      
      
          
          
          
          
      
    3. 引入映射配置文件
      
          
          
      

在编写映射配置文件的时候,文件名与Mapper接口(也可以说是Dao接口为持久层接口)名要一致(算是一种规范).通过命名空间来找到对应Mapper。

其对应id为其对应的方法,resultType为返回值类型。

mapper.xml的规范
<?xml version="1.0" encoding="UTF-8"?>
        
在mapper标签中添加命名空间
在select标签内写对应的select语句

最后进行测试:

  1. 加载主配置文件(resources)
    InputStream inputStream= null;
    SqlSession session = null;
    AccountMapper accountMapper = null;
    UserMappper userMappper =null;
    //@Before注释是将被注释的代码放在最前面执行
    @Before
    public void init() throws IOException {
        inputStream= Resources.getResourceAsStream("SqlMapConfig.xml");
        //创建新的会话工厂
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
        //获取会话
        session = factory.openSession();
        //获取相应的代理对象
       // accountMapper = session.getMapper(AccountMapper.class);
        userMappper = session.getMapper(UserMappper.class);
    }
    //@After注释是将被注释的代码放在最后执行进行收尾工作
    @After
    public void destory() throws IOException {
        session.close();
        inputStream.close();
    }
  2. 创建会话工厂(sqlsessionFactory)
  3. 通过工厂获取(sqlsession)
  4. 获取代理对象进行操作
    @Test
    public void test(){
        //具体执行的操作
        List accounts = accountMapper.findAll();
        for (Account account : accounts) {
            System.out.println(account);
        }
    }