mybatis基础入门

MyBatis概述

1、ORM模型。2、MyBatis概述。3、MyBatis使用优势及应用场景

ORM模型简介

  • ORM对象关系映射(Object Relation Mapping)
  • Object:java中的对象
  • Mapping:数据库中的表
  • Relation:关系映射
    传统JDBC程序设计缺陷
  • 大量配置信息硬编码
  • 大量的无关业务的处理编码
  • 扩展优化极为不便
    MyBatis概述
    Mybatis是支持定制化SQL、存储过程以及高级映射的持久性框架
  • 避免传统的JDBC硬编码
  • XML配置或注解
  • POJO对象和数据库记录直接映射
  • 完善的文档支持
    MyBatis的使用优势
  • 简单易学,快速上手,学习成本低
  • 数据库交互信息配置化
  • 动态SQL处理

MyBatis开发环境搭建

官网
GETHUB下载离线安装包
maven添加依赖依赖查找网站

传统项目中使用MyBatis

  • gethub下载mybatis
  • 项目中导入jar包

maven方式引入

  • 在依赖查询网站找到mubatis
  • 配置到pom.xml中

入门程序

  • 开发环境:windows+jdk1.8+IDLE+Mysql

  • 需求:完成一个数据的查询流程

  • 目的:了解mybatis核心API的操作流程

  • 扩展:了解mubatis的工作流程
    1、创建一个maven项目,不用选archetype,JDK任选吧

    2、填写groupId,ArifactId

    3、finsh

    4、项目结构
    在这里插入图片描述
    main:正式编写的代码
    java:源代码
    resources:配置文件
    test:测试代码
    pom.xml文件:maven 项目文件,配置jar包依赖
    5、配置相应jar包依赖

  • 进入网站搜索添加链接描述

  • 找到mybatis的jar依赖,和mysql连接的依赖,配置到pom.xml中

<dependencies>
        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.4.6</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.41</version>
        </dependency>

    </dependencies>

6、XML配置主配置文件配置
在main中resources下新建一个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>
    <environments default="development">
        <environment id="development">
            <!--事务管理使用默认的jdbc管理-->
            <transactionManager type="JDBC"/>
            <!--使用数据库连接池 -->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mytest"/>
                <property name="username" value="root"/>
                <property name="password" value="110110110"/>
            </dataSource>
        </environment>
    </environments>
    <!--映射配置文件的路径-->
    <mappers>
        
    </mappers>
</configuration>

7、创建数据库

CREATE DATABASE test;

use test;

CREATE TABLE users(
	id int auto_increment PRIMARY KEY COMMENT '用户编号',
	username VARCHAR(50) COMMENT '这是登录账号',
	password VARCHAR(50) COMMENT '这是登录密码',
	nickname VARCHAR(20) COMMENT '用户昵称'
);

INSERT into users VALUES(1,'admin','admin','管理员');

8、创建一个与数据表对应的实体类

package club.bagedate.users;

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

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    @Override
    public String toString() {
        return "user{" +
                "id=" + id +
                ", username='" + username + '\'' +
                ", password='" + password + '\'' +
                ", nickname='" + nickname + '\'' +
                '}';
    }
}

9、在resources中创建一个mapper文件夹,在文件夹中定义映射关系
创建一个usersMapper.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="club.bagedate.users.user">
    <select id="userList" resultType="club.bagedate.users.user">
        select * from users
    </select>
</mapper>

将映射关系配置到mabatis.xml中
在mappers中添加映射

10、在test中进行测试
测试之前需要引入junit包在pom.xml中

public class TestDemo {
    @Test
    public void testDemo01() throws IOException {
        //初始化mybatis配置环境
        String resource = "mybatis.xml";
        InputStream is = Resources.getResourceAsStream(resource);
        SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);


        //打开和数据库之间的会话
        SqlSession session = factory.openSession();

        List<user> userList = session.selectList("userList");
        for (user a:userList
             ) {
            System.out.println(a);
        }
        session.close();
    }
}
posted @ 2018-11-17 21:58  莫逸风  阅读(48)  评论(0编辑  收藏  举报