java开发Mybatis查询(查询一条)

    xiaoxiao2025-08-14  6

    Mybatis的SqlSession和SqlSessionFactory

    SqlSession: 处理mybatis增删改查及事物的接口,select , update , delete , insert , commit , rollback , close , flushStatements等

    SqlSessionFactory:工厂设计模式,创建SqlSession的工厂。 SqlSessionFactory是MyBatis的关键对象,单个数据库映射关系经过编译后的内存镜像。 SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得, 而SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例.

    (1)、定义一个Configuration对象,其中包含数据源、事务、mapper文件资源以及影响数据库行为属性设置settings,即(配置文件,实体类,xml中写好的sql语句)

    public void selectByid() throws IOException { //以查询一条记录为例 //加载sqlMapConfig.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis/SqlMapConfig.xml");

    (2)、通过配置对象,则可以创建一个SqlSessionFactoryBuilder对象

    SqlSessionFactoryBuilder sqlSessionFactoryBuilder=new SqlSessionFactoryBuilder();

    (3)、通过 SqlSessionFactoryBuilder 获得SqlSessionFactory 的实例。

    SqlSessionFactory sqlSessionFactory=sqlSessionFactoryBuilder.build(inputStream);

    (4)、SqlSessionFactory 的实例可以获得操作数据的SqlSession实例,通过这个实例对数据库进行

    SqlSession sqlSession=sqlSessionFactory.openSession();

    (5)创建mapper接口的实例

    EmpMapper mapper = sqlSession.getMapper(EmpMapper.class); //使用接口 Emp emp =mapper.selectById(1001); System.out.println("emp=="+emp); }
    最新回复(0)