什么是MyBatis?
MyBatis 是一款优秀的持久层框架
MyBatis避免了所有JDBC 代码 和手动设置参数以及获取结果集

如何获得MyBatis?
maven官网
Github官网
MyBatis中文文档

什么是持久层?
Dao层 Service层 Controller层
这些包里面完成持久化工作代码

为什么要使用MyBatis?
·方便 传统的JDBC太复杂
· 可以帮助程序员将数据存入数据库中


第一个mybatis程序

思路;搭建环境——> 导入mybatis——>编写代码——>测试

1,搭建环境
>搭建数据库(建库,建表)
>新建项目(在idea中建maven项目)

2,创建了maven 后 把这个父工程的src删了(用不上)
然后导入依赖(pom.xml文件中导入)
>3个依赖 mysql(8.0.23)
mybatis(3.5.2)
junit(4.12)

<?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>org.example</groupId><artifactId>MyBatis</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><modules><module>mybatis_01</module></modules><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency>
<!--            mysql依赖--><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.23</version></dependency><dependency>
<!--            mybatis依赖--><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.5.2</version></dependency><dependency>
<!--            junit依赖--><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>
</project>

3,建立子maven
在子maven下的resources文件下,创建一个xml文件 配置与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>
<!--    核心配置文件--><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/mybatis?serverTimezone=GMT%2B8&amp;useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/><property name="username" value="root"/><property name="password" value="0218"/></dataSource></environment></environments></configuration>

建立包 util包 dao包 entity包

util包 :存放一个类 这个类 很重要 用这个类来 创建SqlSession 的对象
解释:什么是SqlSession ? 有什么用?
SqlSession 是MyBatis 最重要的构建之一,可以简单的认为 MyBatis一系列的配置就是为了生成SqlSession 对象 这样才能与数据库开启沟通,实现对数据库的增删改查工作

package com.mumu.util;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.IOException;
import java.io.InputStream;public class MybatisUtil {private static SqlSessionFactory sqlSessionFactory;
//都设置为静态的  这样  不用创建对象 就能调用方法static {try {//这段代码是从mybatis 官网拿下来的 ,是固定的  把它放到静态代码块中 是因为 这样可以早于类的加载String resource = "mybatis-config.xml";//这里注意别写错  这个是与resources 文件下 的文件名InputStream inputStream = Resources.getResourceAsStream(resource);sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);} catch (IOException e) {e.printStackTrace();}}public static SqlSession getSqlSession(){return  sqlSessionFactory.openSession();//获取mybatis最最最重要的对象  sqlsession}}

SqlSession 完全包含了面向数据库执行SQL命令所需的所有方法

dao包 ;
存放对数据库操作的接口规范

package com.mumu.dao;import com.mumu.entity.Mybatis;import java.util.List;public interface DaoMybatis {List<Mybatis> getmybatisList();//获取数据库信息的方法 返回的是List 说明是查询数据库操作 (select)
}

和一个xxxMapper.xml 文件
这个xxxMapper.xml 文件 就是写对数据库的具体操作的

<?xml version="1.0" encoding="UTF8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--        接口的路径  建立与接口的连接   面向接口编程 获取了接口 我们就能使用接口的实现类-->
<mapper namespace="com.mumu.dao.DaoMybatis">
<!--            接口的方法                       与数据库列名对应的类--><select id="getuserList" resultType="com.mumu.entity.Mybatis">
# 查询语句 这个是数据库的查询语句 mybatis.user 意思是来自哪个表
select * from mybatis.user  </select>
</mapper>


因为 java 很可能不会帮我们去编译resource以外的xml文件
所以我们要手动的让java去编译我某个路径的xml文件
所以 我们还需要去父工程 导入一个 build

  <build><resources><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>true</filtering></resource></resources></build>

还有就是 要让数据库与dao包下的 xxxMapper.xml 这个操作数据库的类 相互贯通
所以要在resource包下的 连接数据库的xml文件下 加个

    <mappers><mapper resource="com/mumu/dao/UserMapper.xml"/></mappers>


接下来就是测试了
最好在test包下测试

测试代码

package com.mumu.dao;import com.mumu.entity.Mybatis;
import com.mumu.util.MybatisUtil;
import org.apache.ibatis.session.SqlSession;
import org.junit.Test;import java.util.List;public class UserDaoTest {@Testpublic void test01(){SqlSession sqlSession = MybatisUtil.getSqlSession();DaoMybatis mapper = sqlSession.getMapper(DaoMybatis.class);List<Mybatis> mybatis = mapper.getuserList();for (Mybatis user : mybatis){System.out.println(user);}sqlSession.close();}}//输出结果
//Mybatis{id=11, name='木木', pwd='123456'}
//Mybatis{id=15, name='马云', pwd='000000'}
//Mybatis{id=20, name='王建林', pwd='666666'}

MyBatis介绍,入门相关推荐

  1. mybatis 介绍 入门 mapper配置文件 增删查改 别名配置 #和 $的区别

    mybatis 介绍 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis. 所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子 ...

  2. MyBatis学习总结(1)——MyBatis快速入门

    2019独角兽企业重金招聘Python工程师标准>>> 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所 ...

  3. Mybatis最入门---代码自动生成(generatorConfig.xml配置)

    [一步是咫尺,一步即天涯] 经过前文的叙述,各位看官是不是已经被Mybatis的强大功能给折服了呢?本文我们将介绍一个能够极大提升我们开发效率的插件:即代码自动生成.这里的代码自动生成包括,与数据库一 ...

  4. mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门

    点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...

  5. MyBatis学习笔记(一)——MyBatis快速入门

    转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...

  6. Mybatis(1)---入门篇单表查询

    1.Mybatis介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...

  7. Java基础-SSM之mybatis快速入门篇

    Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...

  8. Mybatis从入门到精通(全)

    目录 前言 1. idea软件小技巧 2. mybatis优势 3. mybatis入门项目 3.1 项目具体步骤 3.2 创建数据表 3.3 创建maven项目 3.4 pom.xml配置文件 3. ...

  9. Mybatis最入门---分页查询(逻辑分页与SQL语句分页)

    [一步是咫尺,一步即天涯] 到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层.但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的.本文,我们将从逻辑分页, ...

  10. MyBatis从入门到精通(1):MyBatis入门

    作为一个自学Java的自动化专业211大学本科生,在学习和实践过程中"趟了不少雷",所以有志于建立一个适合同样有热情学习Java技术的参考"排雷手册". 最近在 ...

最新文章

  1. oracle多表查询
  2. Run-Time Check Failure #3
  3. 【蓝桥杯单片机】矩阵键盘和独立键盘新解(更稳定更高复用性)
  4. mysql+主从同步+用户,MySQL主从同步
  5. 中国传统文化课程笔记
  6. 四 树莓派系统配置及进入图形桌面
  7. WIN7 安装 SQL2000
  8. 微信公众平台开发者模式(1)JAVA版接入
  9. codeforces 1139c Edgy Trees 【并查集 】
  10. 遗传算法(包含选择、交叉、变异) MATLAB完整代码 中文注释详解
  11. .net出现80080005错误的解决办法
  12. multitail使用小技巧
  13. 大疆精灵4与双目视觉智能导航系统
  14. 百度网盘NDM高速下载
  15. 二维码的生成(qrcode.js)
  16. android的TextView的TextWatcher使用
  17. 教你如何分辨绿杨春茶的真假新旧?
  18. SDN:ICT的春秋时代
  19. 鲍尔默:微软发展来自对八个核心领域持续投资 (作者:三张 | 出处:网易科技 )
  20. [展览人周刊]华展云20170626期

热门文章

  1. pycharm如何全局搜索
  2. HALCON算子函数——Chapter 5 : Filter
  3. IEEE-754单精度浮点类型有效数字理解(画图不易,望点赞支持)
  4. DWDM(密集波分复用)入门简介
  5. 【linux】循序渐进学运维-基础篇-常用ssh管理工具
  6. 如何快速部署积分商城小程序
  7. Extra Packages for Enterprise Linux (EPEL)
  8. 小米时间选择控件_上海非凡教育分享UI组件设计解析之—— 单元控件
  9. 【linux】mdadm-raid1管理
  10. Linux操作系统的帮助指令详解