跳转至

环境搭建

使用Gradle或Maven导入

创建Mybatis的核心配置文件

  • 作用:用于配置连接数据库的环境以及Mybatis的全局配置信息
    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration  
            PUBLIC "-//mybatis.org//DTD Config 3.0//EN"  
            "http://mybatis.org/dtd/mybatis-3-config.dtd">  
    <configuration>  
        <!--设置连接数据库的环境-->  
        <environments default="development">  
            <environment id="development">  
                <transactionManager type="JDBC"/>  
                <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/>  
                    <property name="url" value="jdbc:mysql://120.55.96.129:3306/ssm?serverTimezone=UTC"/>  
                    <property name="username" value="jiunian"/>  
                    <property name="password" value="jiunian"/>  
                </dataSource>  
            </environment>  
        </environments>  
    
        <!--引入映射文件-->  
        <mappers>  
            <mapper resource="mappers/UserMapper.xml"/>  
        </mappers>  
    </configuration>
    

创建mapper接口

  • 相当于dao
    • 区别:mapper仅仅是接口,无需提供实现类

创建Mybatis的映射文件

  • 对象关系映射(Object Relationship Mapping)
    • 对象:Java的实体类对象
    • 关系:关系型数据库
    • 映射:二者之间的对应关系
  • 映射文件的命名规则:表所对应的实体类的类名+Mapper.xml
    • 一个映射文件对应一个实体类,对应一张表的操作
    • Mybatis映射文件用于编写SQL访问以及操作表中的数据
    • 映射文件存放在src/main/resources/mappers目录下
  • Mybatis中可以面向接口操作数据,需要保证两个一致
    • mapper接口的全类名和映射文件的空间命名保持一致
    • mapper接口中方法的方法名和映射文件中编写SQL的标签和id属性保持一致

测试

// 获取核心配置文件的输入流  
        InputStream is = Resources.getResourceAsStream("mybatis-config.xml");  
        // 获取SqlSessionFactoryBuilder对象  
        SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();  
        // 获取SqlSessionFactory对象  
        SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);  
        // 获取sql的会话对象SqlSession,为Mybatis提供的操作数据库对象  
        SqlSession sqlSession = sqlSessionFactory.openSession();  
        // 获取userMapper的代理实现类对象  
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);  
        // 对用mapper接口中的方法,实现添加用户的功能  
//        int result = mapper.insertUser();  

        // 提供sql以及唯一标识找到sql并执行,唯一标识是namespace.sqlId  
        int result = sqlSession.insert("com.cjd.mybatis.mapper.UserMapper.insertUser");  
        System.out.println("添加完成"+result);  
        // 提交事务  
        sqlSession.commit();  
        sqlSession.close();
- SqlSession:代表java程序和数据库之间的会话 - SqlSessionFactory:生产SqlSession的工厂 - 工厂模式:如果创建某一个对象,使用的过程基本固定,那么我们可以把创建这个对象的相关代码封装在一个工厂类中,后续都使用这个工厂类来生产我们需要的对象