代码下载https://www.lanzouw.com/i28Jhw80b3e

这里使用的数据库是MySQL。这博客只演示了查询操作,其他操作会在其他的博客中继续写

先看目录结构,再看下面的内容,更容易理解。

1、创建数据库mybatis,并在数据库中创建User表

说明:创建表格User,包含一个自增列、姓名、年龄, 数据库引擎使用INNODB

DROP DATABASE IF EXISTS mybatis;
CREATE DATABASE mybatis;
USE mybatis;
CREATE TABLE User(id int(11) NOT NULL AUTO_INCREMENT,name VARCHAR(32) NOT NULL,age int(3),PRIMARY KEY (id))ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

2、导入数据

USE mybatis;
INSERT INTO User(name, age)
VALUES
("张三", 12),
("李四", 14),
("王华", 10),
("lucy", 20),
("mary", 22);

3、创建maven项目, 导入mysql驱动和mybatis坐标,并创建实体类User

         <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.12</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.7</version></dependency>
package com.changqing.pojo;//实体类,对应数据表User
public class User {private int id;private String name;private int age;public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +'}';}
}

4、创建mybatis工具类MybatisUtils,用于返回SqlSession对象

package com.changqing.utils;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.InputStream;public class MybatisUtils {private static SqlSessionFactory sqlSessionFactory;static {try{String resource = "mybatis-config.xml";InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);}catch (Exception e){e.printStackTrace();}}public static SqlSession getSqlSession(){return sqlSessionFactory.openSession();}
}

5、创建UserDao接口和映射文件UserMapper.xml

5.1 创建UserDao接口:在com.changqing.dao包先创建UserDao接口,定义查询的方法。

package com.changqing.dao;import com.changqing.pojo.User;import java.util.List;public interface UserDao {public List<User> getUserList();
}

5.2 创建UserMapper.xml文件:在resources目录下,创建文件夹mapper, 在mapper目录下创建UserMapper.xml文件用于绑定UserDao接口。绑定UserDao后,这个文件的实际作用相当于UserDao的实现类。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--这里的namesapce的值位UserDao,即将这个UserMapper配置文件绑定到UserDao接口上,相当于这个xml文件实现UserDao接口, 其中的id对应UserDao中的方法名-->
<mapper namespace="com.changqing.dao.UserDao"><select id="getUserList" resultType="com.changqing.pojo.User">select * from User</select>
</mapper>

6、创建mybatis的主配置文件mybatis-config.xml

在resouces目录下创建,这样编译时,编译器会自动将配置文件复制到target目录中。下面的配置文件包含了数据源 datasource和映射器mapper。请修改下面的用户名和密码为自己的mysql登录账户。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configurationPUBLIC "-//mybatis.org//DTD Config 3.0//EN""http://mybatis.org/dtd/mybatis-3-config.dtd">
<!--configuration核心配置文件-->
<configuration><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.cj.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/mybatis?userSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;serverTimezone=UTC"/><property name="username" value="root"/><property name="password" value="199604"/></dataSource></environment></environments><mappers><!--将UserMapper注册到mybatis中,--><mapper resource="mapper/UserMapper.xml"/></mappers>
</configuration>

7、编写测试类

package test;import com.changqing.dao.UserDao;
import com.changqing.pojo.User;
import com.changqing.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;import java.util.List;public class TestUser {@Testpublic void testUser(){//获取SqlSessionSqlSession sqlSession = MybatisUtils.getSqlSession();UserDao userDao = sqlSession.getMapper(UserDao.class);List<User> userList = userDao.getUserList();for(User user: userList){System.out.println(user);}sqlSession.close();}
}

7、结果

Mybatis-入门相关推荐

  1. Mybatis入门之动态sql

    Mybatis入门之动态sql 通过mybatis提供的各种标签方法实现动态拼接sql. 1.if.where.sql.include标签(条件.sql片段) <sql id="sel ...

  2. MyBatis1:MyBatis入门

    MyBatis是什么 MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的: MyBatis is a first class persistence fra ...

  3. MyBatis(1):MyBatis入门

    MyBatis是什么 MyBatis是什么,MyBatis的jar包中有它的官方文档,文档是这么描述MyBatis的: MyBatis is a first class persistence fra ...

  4. MyBatis-学习笔记02【02.Mybatis入门案例】

    Java后端 学习路线 笔记汇总表[黑马程序员] MyBatis-学习笔记01[01.Mybatis课程介绍及环境搭建][day01] MyBatis-学习笔记02[02.Mybatis入门案例] M ...

  5. mybatis入门(七)之日志

    转载自    mybatis入门(七)之日志 Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理: SLF4J Apache Commons Logging Lo ...

  6. mybatis入门(一)之基础安装

    转载自  mybatis入门 安装 要使用 MyBatis, 只需将 mybatis-x.x.x.jar 文件置于 classpath 中即可. 如果使用 Maven 来构建项目,则需将下面的 dep ...

  7. Mybatis入门程序增删改查操作

    学习目标 了解Mybatis的基本知识 熟悉Mybatis的工作原理 掌握Mybatis入门程序的编写 文章目录 1.初始Mybatis 2.Mybatis入门程序 3.Mybatis操作总结 1.初 ...

  8. Mybatis入门 使用注解

    使用XML方式地址为Mybatis入门 使用XML 1.目录结构 2.需要修改的地方 1.mybatis的配置文件 <?xml version="1.0" encoding= ...

  9. Mybatis入门 使用XML

    1.项目结构 2.详细代码 数据库: 1.创建实体类bean package com.itheima.domain;import java.io.Serializable; import java.u ...

  10. MyBatis入门(二)---一对一,一对多

    一.创建数据库表 1.1.创建数据表同时插入数据 /* SQLyog Enterprise v12.09 (64 bit) MySQL - 5.6.27-log : Database - mybati ...

最新文章

  1. NLP(Natural Language Processing)
  2. ospf的四种网络类型
  3. 又一次Task.Wait引起的教训
  4. 如何获得即时编译器(JIT)的汇编代码(linux环境下)
  5. “云网管” ---云上构建网络自动化体系
  6. AIR 窗口,自定义形状窗口,按钮
  7. mysql workbench创建数据库的时候PK,NN等的含义
  8. 回溯法 —— 判断子集和问题是否存在解
  9. 五步构建经营指标,拒绝分析不接地气
  10. 评价法(一):层次分析法的步骤和方法
  11. Android串口通信之概念介绍
  12. 2.2、云计算FusionCompute计算虚拟化
  13. Shiro基本入门教程—叩丁狼Java培训
  14. 区块链三种网络地址btc\eth\fil
  15. 扫地机器人进水后会出现什么故障_小米扫地机器人吸进水怎么办?小米扫地机器人吸进水解决方法...
  16. android原生系统 抽屉,Android N或取消原生应用抽屉
  17. 移动互联网的未来在非洲
  18. php输出甲子年,六十随笔 (献给自己的甲子年)
  19. PHP图片压缩到指定的大小
  20. (币圈资讯)如何选择一个优质有潜力的项目?小白必读干货

热门文章

  1. 1125 Chain the Ropes (25 分)【难度: 一般 / 贪心 哈夫曼树】
  2. c++中的向量容器(vector)
  3. ppt结的概念与使用
  4. Thymeleaf页面三元运算符
  5. HTML中的列表和表格
  6. 计算机的组成_计算机网络的组成和分类
  7. 切换分支 更改只影响当前分支代码_idea 中分支管理操作的意思
  8. 同事写了一个update,误用一个双引号,生产数据全变0了!
  9. 采用 Vue 编写的功能强大的 Swagger-ui 页面
  10. Java 将 Word 文档转换为 PDF 的完美工具