美文网首页JavaSE
Mybatis开发环境搭建+入门程序

Mybatis开发环境搭建+入门程序

作者: 熊猫读书营 | 来源:发表于2018-05-08 15:39 被阅读74次

    在上一篇文章中简单的总结了一些Mybatis的相关知识点。
    今天就通过一个入门小程序实际来演示一下Mybatis是如何使用的。
    用一个小例子来完成一个数据的查询流程以及了解Mybatis核心api的操作流程。

    入门程序搭建

    我的开发环境为:Linux+jdk1.8+IntelliJIdea+Mysql
    ①首先使用IDEA新建一个Maven项目。
    pom.xml文件中引入mybatis、mysql等相关依赖

    <dependencies>
        <!--Mysql JDBC驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>6.0.6</version>
        </dependency>
    
        <!--Mybatis依赖-->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.4</version>
        </dependency>
    
        <!--junit单元测试依赖-->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        </dependencies>
    

    ②resources目录下新建mybatis-config.xml文件,用于配置数据库信息。具体的配置内容可以在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"/><!--事务管理,默认的JDBC方式-->
                <!--数据源,使用数据库连接池-->
                <dataSource type="POOLED">
                    <property name="driver" value="com.mysql.jdbc.Driver"/>
                    <property name="url" value="jdbc:mysql://localhost:3306/mybatis_demo"/>
                    <property name="username" value="root"/>
                    <property name="password" value="{$password}"/>
                </dataSource>
            </environment>
        </environments>
        <!--映射配置文件的路径-->
        <mappers>
            <mapper resource="mapper/usersMapper.xml"/>
        </mappers>
    </configuration>
    

    ③接下来就可以建数据库表了,我们简单的模拟一个用户信息的表。

    create database mybatis_demo;
    use mybatis_demo;
    create table users(
        id int auto_increment primary key,
        username varchar(50),
        password varchar(50),
        nickname varchar(20)
    );
    insert into users values(1,'admin','123','管理员');
    insert into users values(2,'josiah','4567','用户1');
    insert into users values(3,'lovebugs','678','用户2');
    

    ④新建Java实体类User,与数据库字段一致

    public class User {
        private int id;
        private String username;
        private String password;
        private String nickname;
    

    以及getter(),setter(),toString()方法。

    ⑤resources目录下新建mapper文件夹,下面新建userMapper.xml,用来配置映射关系,内容同样可以从官方文章中复制过来。

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE mapper
            PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
            "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
    <!--namespace为命名空间
        通常情况下,命名空间的值就是当前操作的实体类的全名称
    -->
    <mapper namespace="cn.lovebugs.entity.User">
        <select id="usersList" resultType="cn.lovebugs.entity.User">
            select * from users
        </select>
    </mapper>
    

    ⑥接下来就可以进行测试查询了,新建Test类,通过junit进行测试。

    import cn.lovebugs.entity.User;
    import org.apache.ibatis.io.Resources;
    import org.apache.ibatis.session.SqlSession;
    import org.apache.ibatis.session.SqlSessionFactory;
    import org.apache.ibatis.session.SqlSessionFactoryBuilder;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.List;
    
    public class Test {
    
        @org.junit.Test
        public void test() throws IOException {
            //初始化mybatis配置环境
            String resource = "mybatis-config.xml";
            InputStream is = Resources.getResourceAsStream(resource);
            SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);
    
            //打开和数据库之间的会话
            SqlSession session = factory.openSession();
    
            //查询
            List<User> usersList = session.selectList("usersList");//usersList为userMapper.xml里定义的id名
    
            for (User user : usersList){
                System.out.println(user);
            }
    
            //关闭会话
            session.close();
        }
    
    }
    
    结果显示查询成功:

    Mybatis核心API操作过程分解

    上面已经执行成功了一个简单的查询过程,接下来解释一下上述方法中的执行过程。

    首先我们第一步定义好了Mybatis的配置信息,即mybatis-config.xml文件,以及***Mapper.xml映射的配置文件,在程序运行过程中要对配置文件进行读取,接下来构建了一个和数据库之间的会话(使用SqlSessionFactoryBuilder),SqlSessionFactoryBuilder结合配置文件会构建出一个SqlSessionFactory的工厂类(整个应用过程中构建这一次就可以了)。
    然后通过SqlSessionFactory来打开一个和数据库之间的会话SqlSession,通过会话的执行器Executer来执行sql语句,输出结果集。




    微信公众号【编程资源网】
    本公众号致力于免费分享全网最优秀的视频资源,学习资料,面试经验等,前端,PHP,JAVA,算法,Python,大数据等等,你想要的这都有,还会分享优质博文,提高你的认知与思维

    编程资源网-QQ交流群:625494093
    要进微信交流群的话加微信:lovebugs88
    微信搜索公众号:编程资源网 或者扫描下方二维码直接关注,

    原创文章,转载请注明出处

    相关文章

      网友评论

      本文标题:Mybatis开发环境搭建+入门程序

      本文链接:https://www.haomeiwen.com/subject/tquerftx.html