MyBatis入门案例

mybatis学习01

大三的时候自己学过SSM框架,大概从三月份学到了五月份,两个月的时间,当时由于要上课而且繁琐事情较多,因此并没有学习的太过深入。所以再做完了一个Web项目以后,开始重温框架知识,第一站Mybatis。
mybatis是持久层框架,用于与数据库的交互,目的在于解决操作数据库繁杂重复的代码,以一种简洁清楚的方式完成对数据库的使用,上详细步骤

  1. 创建maven工程,不需要用什么模板,直接next就完事了。
  2. 创建实体类与持久层的接口。代码比较简单,就不上了。
  3. 创建mybatis的主配置文件SqlMapConfig
<!-- mybatis的主配置文件-->
<configuration>
    <!-- 配置环境-->
    <environments default="mysql">
        <!-- 配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC"></transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置四大参数-->
                <property name="driver" value="com.mysql.jdbc.Driver"></property>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis01"></property>
                <property name="username" value="root"></property>
                <property name="password" value="***"></property>
            </dataSource>
        </environment>
    </environments>
        <!--指定映射配置文件的位置,映射配置文件是指每个dao独立的配置文件-->
    <mappers>
        <mapper resource="com/runze/dao/UserDao.xml"></mapper>
    </mappers>
  1. 创建映射配置文件
<mapper namespace="com.runze.dao.UserDao">
    <!--配置查询所有 id为方法名称-->
    <select id="findAll" resultType="com.runze.domain.User">
        select * from user
    </select>
</mapper>

这样的话一个简单的mybatis环境就搭建好了。上测试

 public static void main(String[] args) throws Exception{
        //使用mybatis开发步骤
        /*
            1、读取配置文件
            2、创建SqlSessionFactory工厂
            3、使用工厂生产SqlSession对象
            4、使用SqlSession创建dao接口的代理对象
            5、使用代理对象执行方法
            6、释放资源
         */
        //1、读取配置文件
        InputStream in= Resources.getResourceAsStream("SqlMapConfig.xml");
        //2、创建SqlSessionFactory工厂
        SqlSessionFactoryBuilder builder=new SqlSessionFactoryBuilder();
        SqlSessionFactory sqlSessionFactory = builder.build(in);
        //3、使用工厂生产SqlSession对象
        SqlSession sqlSession = sqlSessionFactory.openSession();
        //4、使用SqlSession创建dao接口的代理对象
        UserDao userDao = sqlSession.getMapper(UserDao.class);
        //5、使用代理对象执行方法
        List<User> lists = userDao.findAll();
        for (User user : lists) {
            System.out.println(user);
        }
        //6、释放资源
        sqlSession.close();
        in.close();
    }

一个简单的mybatis入手项目就完成了。对于Mybatis的实现流程,我推测一下。在测试中读取主配置文件,根据主配置文件的四大参数获取数据库连接,之后找到映射配置文件的位置上,在映射配置文件中的namespace属性找到持久层接口,通过id与resultType确定要使用的方法以及返回结果的类型,映射一下就好了。

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