首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >快速学习-Mybatis框架入门

快速学习-Mybatis框架入门

作者头像
cwl_java
发布2020-04-01 21:36:01
3290
发布2020-04-01 21:36:01
举报
文章被收录于专栏:cwl_Javacwl_Java

第2章 Mybatis 框架快速入门

通过前面的学习,我们已经能够使用所学的基础知识构建自定义的 Mybatis 框架了。这个过程是基本功的考验,我们已经强大了不少,但现实是残酷的,我们所定义的 Mybatis 框架和真正的 Mybatis 框架相比,还是显得渺小。行业内所流行的 Mybatis 框架现在我们将开启学习。

2.1 Mybatis 框架开发的准备

2.1.1 官网下载Mybatis 框架

从百度中“mybatis download”可以下载最新的 Mybatis 开发包。

在这里插入图片描述
在这里插入图片描述

进入选择语言的界面,进入中文版本的开发文档。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.2 搭建 Mybatis 开发环境

2.2.1 创建maven 工程

创建 mybatis01 的工程,
工程信息如下: 
Groupid:com.itheima 
ArtifactId:mybatis01
Packing:jar

2.2.2 添加Mybatis3.4.5 的坐标

在 pom.xml 文件中添加 Mybatis3.4.5 的坐标,如下:

        <dependencies>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>3.4.5</version>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.10</version>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>5.1.6</version>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>log4j</groupId>
                <artifactId>log4j</artifactId>
                <version>1.2.12</version>
            </dependency>
        </dependencies>

2.2.3 编写 User 实体类

/**
 *
 *<p>Title: User</p>
 *<p>Description: 用户的实体类</p>
 */
public class User implements Serializable {

    private Integer id; private String username; private Date birthday; private String sex;
    private String address;public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public String getSex() {
        return sex;
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    @Override
    public String toString() {
        return "User [id=" + id + ", username=" + username + ", birthday=" + birthday
                + ", sex=" + sex + ", address="
                + address + "]";
    }


}

2.2.4 编写持久层接口 IUserDao

IUserDao 接口就是我们的持久层接口(也可以写成 UserDao 或者 UserMapper),具体代码如下:

public interface IUserDao {


    /**
     *查询所有用户
     *@return
     */
    List<User> findAll();
}

2.2.5 编写持久层接口的映射文件IUserDao.xml

要求: 创建位置:必须和持久层接口在相同的包中。 名称:必须以持久层接口名称命名文件名,扩展名是.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">
<mapper namespace="com.itheima.dao.IUserDao">
    <!-- 配置查询所有操作 -->
    <select id="findAll" resultType="com.itheima.domain.User"> select * from user
</select>
</mapper>

2.2.6 编写 SqlMapConfig.xml 配置文件

<?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>
    <!-- 配置 mybatis 的环境 -->
    <environments default="mysql">
        <!-- 配置 mysql 的环境 -->
        <environment id="mysql">
            <!-- 配置事务的类型 -->
            <transactionManager type="JDBC"></transactionManager>
            <!-- 配置连接数据库的信息:用的是数据源(连接池) -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ee50"/>
                <property name="username" value="root"/>
                <property name="password" value="1234"/>
            </dataSource>
        </environment>
    </environments>
    <!-- 告知 mybatis 映射配置的位置 -->
    <mappers>
        <mapper resource="com/itheima/dao/IUserDao.xml"/>
    </mappers>
</configuration>

2.2.7 编写测试类

    public class MybatisTest {

        public static void main(String[] args)throws Exception {
            //1.读取配置文件
            InputStream in = Resources.getResourceAsStream("SqlMapConfig.xml");
            //2.创建 SqlSessionFactory 的构建者对象
            SqlSessionFactoryBuilder builder = new SqlSessionFactoryBuilder();
            //3.使用构建者创建工厂对象 SqlSessionFactory SqlSessionFactory factory = builder.build(in);
            //4.使用 SqlSessionFactory 生产 SqlSession 对象
            SqlSession session = factory.openSession();
            //5.使用 SqlSession 创建 dao 接口的代理对象
            IUserDao userDao = session.getMapper(IUserDao.class);
            //6.使用代理对象执行查询所有方法List<User> users = userDao.findAll(); for(User user : users) {
            System.out.println(user);
            //7.释放资源
            session.close(); in.close();
        }
            
     
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-03-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第2章 Mybatis 框架快速入门
    • 2.1 Mybatis 框架开发的准备
      • 2.2 搭建 Mybatis 开发环境
        • 2.2.1 创建maven 工程
        • 2.2.2 添加Mybatis3.4.5 的坐标
        • 2.2.3 编写 User 实体类
        • 2.2.4 编写持久层接口 IUserDao
        • 2.2.5 编写持久层接口的映射文件IUserDao.xml
        • 2.2.6 编写 SqlMapConfig.xml 配置文件
        • 2.2.7 编写测试类
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档