MyBatis框架入门案例分享(一)

106 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

MyBatis框架快速入门

1. 内容列表

  • 快速开始一个MyBatis
  • 基本CURD的操作
  • MyBatis内部对象分析
  • 使用DaoImpl.xml

2. 入门案例

2.1 开发准备

搭建 MyBatis 开发环境,实现第一个案例

下载 mybatis

github.com/mybatis/myb…

下载后的目录结构

image.png

其中:

mybatis-3.5.1.jar---->mybatis的核心包

lib              ---->mybatis的依赖包

mybatis-3.5.1.pdf---->mybatis使用手册

2.2 搭建MyBatis开发环境

(1) 创建mysql数据库和表

CREATE DATABASE ssm DEFAULT CHARSET utf8;

 

use ssm;

 

CREATE TABLE `student` (

`id` int(11)  AUTO_INCREMENT primary key ,

`name` varchar(255) DEFAULT NULL,

`email` varchar(255) DEFAULT NULL,

`age` int(11) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

insert into student(name,email,age) values('张三','zhangsan@126.com',22);

insert into student(name,email,age) values('李四','lisi@126.com',21);

insert into student(name,email,age) values('王五','wangwu@163.com',22);

insert into student(name,email,age) values('赵六','zhaoliun@qq.com',24);

select * from student;

(2) 创建工程,添加依赖

<dependencies>\
    <dependency>\
      <groupId>junit</groupId>\
      <artifactId>junit</artifactId>\
      <version>4.11</version>\
      <scope>test</scope>\
    </dependency>\
<!--    添加mybatis框架的依赖-->\
    <dependency>\
      <groupId>org.mybatis</groupId>\
      <artifactId>mybatis</artifactId>\
      <version>3.5.1</version>\
    </dependency>\
<!--    添加mysql8.0驱动-->\
    <dependency>\
      <groupId>mysql</groupId>\
      <artifactId>mysql-connector-java</artifactId>\
      <version>8.0.22</version>\
    </dependency>

(3) 编写Student实体类

public class Student {

    private int id;

    private String name;

    private String email;

private int age;

}

(4) 添加db.properties文件

该文件用来提供数据库连接信息.

image.png

(5) 创建MyBatis主配置文件

右键新建SqlMapConfig.xml文件,从MyBatis-3-User-Guide-Simplified-Chinese.pdf中拷贝过来头参数.

<?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">

<!--mybatis-3-config.dtd:它规定了当前的xml文件中可以出现哪些标签\
                         这些标签的顺序和位置,这些标签的属性\
                         这些标签的子标签

(6) 创建MyBatis主配置文件参数详解

configuration>\
<!--    将文件流指向db.properties,最终是为了从中读取数据库的一堆配置信息-->\
    <properties resource="db.properties"></properties>\
<!--    要进行数据库的访问,所以要进行数据库访问的配置,驱动,url,username,password-->\
<!--    environments:进行环境变量(连接数据库)的配置\
                     可以进行多个数据库连接配置,可以上线一套,开发一套,可以mysql一套,oracle一套等\
        default:本次配置中使用的环境变量的名称,多套配置,default决定哪套配置生效\
-->\
    <environments default="development">\
<!--environment:进行具体环境变量的配置\
    id: 为当前的配置的环境变量起个名称,为了在environments的default中使用\
-->\
        <environment id="development">\
<!--            transactionManager:事务管理\
                type: JDBC:就是程序员自己来管理事务的提交和回滚\
                      MANAGED:由容器来进行事务的管理,例如:spring\
-->\
            <transactionManager type="JDBC"></transactionManager>\
<!--            dataSource:数据源的配置\
                      type:指定数据源的配置方式,是否是连接池\
                           "POOLED":表明使用数据库连接池\
                           "UNPOOLED":不使用连接池\
                           "JNDI":java命名目录接口,由服务器端负责连接池的管理\
                      property: driver:数据库驱动\
                                url:数据库的路径\
                                username:访问数据库的用户名\
                                password:访问数据库的用户的密码\
-->\
            <dataSource type="POOLED">\
                <property name="driver" value="${jdbc.driver}"/>\
                <property name="url" value="${jdbc.url}"/>\
                <property name="username" value="${jdbc.username}"/>\
                <property name="password" value="${jdbc.password}"/>\
            </dataSource>\
        </environment>\
    </environments>\
<!--    注册StudentDaoImpl.xml文件,注意.xml后缀要带上-->\
    <mappers>\
        <mapper resource="StudentDaoImpl.xml"></mapper>\
    </mappers>\
</configuration>

支持中文的 url,连接mysql8要添安全密钥允许访问和时区的设置

jdbc.url=jdbc:mysql://localhost:3308/ssm?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true