文章目录

  • Ⅰ、创建数据库与表
    • 1、在Navicat里创建MySQL数据库testdb
    • 2、创建用户表 t_user
    • 3、在用户表里插入三条记录
  • Ⅱ、案例演示MyBatis基本使用
    • 1、创建Maven项目 MyBatisDemo
    • 2、在pom文件里添加相应的依赖
    • 3、创建与用户表对应的用户实体类 User
    • 4、创建用户实体关系映射配置文件
    • 5、创建MyBatis配置文件
    • 6、创建日志属性文件
    • 7、创建测试类测试用户操作
      • 1)、创建测试类 - TestUserOperation
      • 2)、运行测试方法 - testFindById()
      • 3)、运行测试方法 - testFindAll()

Ⅰ、创建数据库与表

1、在Navicat里创建MySQL数据库testdb

2、创建用户表 t_user

CREATE TABLE `t_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`age` int(11) DEFAULT NULL,`address` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
  • 新建查询执行SQL语句创建用户表
    ### * 查看用户表结构

3、在用户表里插入三条记录

INSERT INTO `t_user` VALUES ('1', '李洪刚', '20', '江阳区嘉裕花园3栋四楼15#');
INSERT INTO `t_user` VALUES ('2', '王云华', '30', '纳溪区大渡镇红鱼村三大队');
INSERT INTO `t_user` VALUES ('3', '郑小翠', '21', '江阳区老窖花园2栋五楼15号');
  • 执行SQL语句插入记录
  • 查看用户表记录

Ⅱ、案例演示MyBatis基本使用

1、创建Maven项目 MyBatisDemo

2、在pom文件里添加相应的依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>net.hlw.mybatis</groupId><artifactId>MyBatisDome</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.40</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version></dependency><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency></dependencies></project>
  • 添加了新的依赖打开maven窗口单击刷新

3、创建与用户表对应的用户实体类 User

  • 用户实体类的属性对应用户表的字段(列)【id、name、age、address】
package net.hlw.mybatis.bean;/*** 功能:用户实体类* 时间:2021年03月03日*/
public class User {private int id;private String name;private int age;private String address;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;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}@Overridepublic String toString() {return "User{" +"id=" + id +", name='" + name + '\'' +", age=" + age +", address='" + address + '\'' +'}';}
}

4、创建用户实体关系映射配置文件

  • 在resources目录里创建mapper子目录,然后在里面创建实体关系映射配置文件 - UserMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><mapper namespace="net.hlw.mybatis.mapper.UserMapper"><select id="findById" parameterType="int" resultType="User">SELECT * FROM t_user WHERE id = #{id};</select><select id="findAll" resultType="User">SELECT * FROM t_user;</select>
</mapper>

5、创建MyBatis配置文件

  • 在resources目录里创建mybatis-config.xml
<?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><!--配置实体类别名--><typeAliases><typeAlias type="net.hlw.mybatis.bean.User" alias="User"/></typeAliases><environments default="development"><environment id="development"><transactionManager type="JDBC"/><dataSource type="POOLED"><property name="driver" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/testdb"/><property name="username" value="root"/><property name="password" value="123456"/></dataSource></environment></environments><!--配置实体关系映射器文件--><mappers><mapper resource="mapper/UserMapper.xml"/></mappers>
</configuration>
  • 简要说明
    1.mybatis-config.xml 是 MyBatis 用来建立 sessionFactory 用的,里面主要包含了数据库连接相关内容,还有 Java 类所对应的别名,比如,这个别名非常重要,在具体类的映射中,比如UserMapper.xml 中 resultType 就是对应这里的User。要保持一致。
    2.mybatis-config.xml 里面 的是包含要映射的类的实体关系映射配置文件。
    3.在UserMapper.xml 文件里面主要是定义各种SQL 语句,以及这些语句的参数,以及要返回的类型等。

6、创建日志属性文件

  • 在resources目录里创建log4j.properties文件
log4j.rootLogger=WARN, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.FileAppender
log4j.appender.logfile.File=target/mybatis.log
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

7、创建测试类测试用户操作

1)、创建测试类 - TestUserOperation

  • 在test/java目录里创建net.hw.mybatis.bean包,然后在包里创建测试类 - TestUserOperation
package net.hlw.mybatis.bean;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 org.apache.log4j.lf5.util.Resource;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;import java.io.IOException;
import java.io.Reader;
import java.util.List;/*** 功能:测试用户操作* 作者:黄* 日期:2021年03月03日*/
public class TestUserOperation {private SqlSession sqlSession; //SQL会话@Beforepublic void init() {try {// 读取MyBatis配置文件Reader reader = Resources.getResourceAsReader("mybatis-config.xml");// 基于MyBatis配置文件构建SQL会话工厂SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(reader);// 利用SQL会话工厂获取SQL会话sqlSession = factory.openSession();// 提示用户SQL会话创建成功System.out.println("sqlSession对象已创建。");} catch (IOException e) {e.printStackTrace();}}@Testpublic void testFindById() {int id = 1;User user = sqlSession.selectOne("net.hlw.mybatis.mapper.UserMapper.findById",id);if (user != null) {System.out.println(user);} else {System.out.println("编号为[" + id + "]的用户未找到。");}}@Testpublic void testFindAll() {List<User> users = sqlSession.selectList("net.hlw.mybatis.mapper.UserMapper.findAll");users.forEach(user -> System.out.println(user));}@Afterpublic void destory() {// 关闭SQL会话sqlSession.close();// 提示用户SQL会话对象关闭System.out.println("sqlSession对象已关闭。");}
}

2)、运行测试方法 - testFindById()

  • 修改testFindById()代码,再运行查看结果

3)、运行测试方法 - testFindAll()

MyBatis框架学习笔记01:初入MyBatis(一)相关推荐

  1. MyBatis框架学习笔记01:初探MyBatis实现简单查询

    文章目录 一.什么是MyBatis (一)MyBatis概述 (二)ORM工具的基本思想 二.创建数据库与表 1.在Navicat里创建MySQL数据库testdb 2.创建用户表 - t_user ...

  2. 2021年3月8日:MyBatis框架学习笔记02:利用MyBatis实现CRUD操作

    MyBatis框架学习笔记02:利用MyBatis实现CRUD操作 在第一节课中我们在UserMapper.xml里定义了两个查询语句:findById和findAll,对应的在UserMapper接 ...

  3. MyBatis框架学习笔记02:使用MyBatis实现CRUD操作

    文章目录 Ⅰ.查询表记录 (Ⅰ).在映射器配置文件里引入结果映射元素 (Ⅱ).添加按姓名查询用户记录功能 1).在UserMapper.xml里添加映射语句 - findByName 2).在User ...

  4. MyBatis框架学习笔记01:初生牛犊

    文章目录 1. 什么是MyBatis 创建数据库 演示MyBatis基本使用 1.创建Maven项目 创建实体类 创建用户实体类关系映射配置文件 创建测试类 完成测试 1. 什么是MyBatis My ...

  5. MyBatis框架学习笔记04:利用MyBatis实现条件查询

    文章目录 一.查询需求 二.打开MyBatisDemo项目 三.对学生表实现条件查询 (一)创建学生映射器配置文件 (二)在MyBatis配置文件里注册学生映射器配置文件 (三)创建学生映射器接口 ( ...

  6. MyBatis框架学习笔记03:利用MyBatis实现关联查询

    文章目录 一.查询需求 (一)针对三张表关联查询 (二)按班级编号查询班级信息 (三)查询全部班级信息 二.创建数据库表 (一)创建教师表 (二)创建班级表 (三)创建学生表 三.创建与数据库表对应的 ...

  7. MyBatis框架学习笔记02:利用MyBatis实现CRUD操作

    文章目录 一.打开MyBatisDemo项目 二.查询表记录 (一)在映射器配置文件里引入结果映射元素 (二)添加按姓名查询用户记录功能 1.在UserMapper.xml里添加映射语句 - find ...

  8. [Spring+SpringMVC+Mybatis]框架学习笔记(四):Spring实现AOP

    上一章:[Spring+SpringMVC+Mybatis]框架学习笔记(三):Spring实现JDBC 下一章:[Spring+SpringMVC+Mybatis]框架学习笔记(五):SpringA ...

  9. mybatis框架--学习笔记(下)

    上篇:mybatis框架--学习笔记(上):https://blog.csdn.net/a745233700/article/details/81034021 8.高级映射: (1)一对一查询: ①使 ...

  10. mybatis框架--学习笔记(上)

    使用JDBC操作数据库的问题总结: (1)数据库连接,使用时创建,不使用时立即释放,对数据库进行频繁连接开启和关闭,造成数据库资源浪费,影响数据库性能. 设想:使用数据库连接池管理数据库连接. (2) ...

最新文章

  1. C/C++中退出线程的四种解决方法
  2. newcode Islands 思维
  3. 【POJ - 1456】Supermarket (贪心,优先队列 或并查集)
  4. CAN笔记(9) 位填充
  5. python的基本概念_Python必学基础概念
  6. linux soc 程序崩溃,SOC、FLCK和内存之间的关系,以3900X+X570为例(更新PCIE4.0)
  7. java敏感词汇过滤工具类
  8. mac 硬盘读写速度测试 软件,使用适用于Windows / Mac的最佳10工具开始测试硬盘速度...
  9. 基于深度学习的以图搜图
  10. win10无法启动修复服务器,win10 bcd损坏无法开机怎样修复_win10系统bcd损坏开机进不了系统解决方法...
  11. 如何在地图上按地址搜索位置
  12. 用前端框架开发一款APP要多少钱
  13. 大学计算机知识点cad,大学cad考试试题「附答案」
  14. Qt5之图形视图框架(一)
  15. 泰拉瑞亚无限物品服务器,泰拉瑞亚1.4.0.5.2.1无限道具版
  16. 103个后台PSD源文件、素材网站
  17. 趣店能否撑起百亿美元市值!
  18. lanmp centOS7 一键式 搭建配置
  19. 【PAT】1030 完美数列 (25 分)
  20. u盘插到电脑计算机里没有反应,U盘插入电脑没有反应 怎么查看是哪里坏了?

热门文章

  1. Android之底部菜单栏的实现
  2. 毕业论文参考文献中出版社和出版地的查询
  3. [Js] Js实现继承的5种方式
  4. 修改服务器ssh欢迎界面
  5. heap exploitation巩固——堆中的off-by-one
  6. 宝塔下的服务器环境搭建步骤
  7. linux下安装qt教程
  8. Oracle 大表数据删除/清理方法小结
  9. xxl-job的学习使用
  10. 高中数学培训:高一数学复习技巧方法