MyBatis介绍,入门
什么是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&useSSL=true&useUnicode=true&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介绍,入门相关推荐
- mybatis 介绍 入门 mapper配置文件 增删查改 别名配置 #和 $的区别
mybatis 介绍 今天,一起来说说mybits这个框架吧.这是一个持久层的框架.之前叫做ibatis. 所以,在它的代码中出现ibatis这个词的时候,不要感到惊讶.不是写错了,它确实就是这个样子 ...
- MyBatis学习总结(1)——MyBatis快速入门
2019独角兽企业重金招聘Python工程师标准>>> 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所 ...
- Mybatis最入门---代码自动生成(generatorConfig.xml配置)
[一步是咫尺,一步即天涯] 经过前文的叙述,各位看官是不是已经被Mybatis的强大功能给折服了呢?本文我们将介绍一个能够极大提升我们开发效率的插件:即代码自动生成.这里的代码自动生成包括,与数据库一 ...
- mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门
点击上方"Java技术前线",选择"置顶或者星标" 与你一起成长 一.Mybatis介绍 MyBatis是一个支持普通*SQL*查询,存储过程和高级映射的优秀持 ...
- MyBatis学习笔记(一)——MyBatis快速入门
转自孤傲苍狼的博客:http://www.cnblogs.com/xdp-gacl/p/4261895.html 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优 ...
- Mybatis(1)---入门篇单表查询
1.Mybatis介绍 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集.MyBatis ...
- Java基础-SSM之mybatis快速入门篇
Java基础-SSM之mybatis快速入门篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实你可能会问什么是SSM,简单的说就是spring mvc + Spring + m ...
- Mybatis从入门到精通(全)
目录 前言 1. idea软件小技巧 2. mybatis优势 3. mybatis入门项目 3.1 项目具体步骤 3.2 创建数据表 3.3 创建maven项目 3.4 pom.xml配置文件 3. ...
- Mybatis最入门---分页查询(逻辑分页与SQL语句分页)
[一步是咫尺,一步即天涯] 到目前为止,我们介绍的Mybatis种种查询都是一次性的查询出所有结果并返回给上层.但是,在实际开发过程中,在大量数据存在的情况下,是很少这么做的.本文,我们将从逻辑分页, ...
- MyBatis从入门到精通(1):MyBatis入门
作为一个自学Java的自动化专业211大学本科生,在学习和实践过程中"趟了不少雷",所以有志于建立一个适合同样有热情学习Java技术的参考"排雷手册". 最近在 ...
最新文章
- oracle多表查询
- Run-Time Check Failure #3
- 【蓝桥杯单片机】矩阵键盘和独立键盘新解(更稳定更高复用性)
- mysql+主从同步+用户,MySQL主从同步
- 中国传统文化课程笔记
- 四 树莓派系统配置及进入图形桌面
- WIN7 安装 SQL2000
- 微信公众平台开发者模式(1)JAVA版接入
- codeforces 1139c Edgy Trees 【并查集 】
- 遗传算法(包含选择、交叉、变异) MATLAB完整代码 中文注释详解
- .net出现80080005错误的解决办法
- multitail使用小技巧
- 大疆精灵4与双目视觉智能导航系统
- 百度网盘NDM高速下载
- 二维码的生成(qrcode.js)
- android的TextView的TextWatcher使用
- 教你如何分辨绿杨春茶的真假新旧?
- SDN:ICT的春秋时代
- 鲍尔默:微软发展来自对八个核心领域持续投资 (作者:三张 | 出处:网易科技 )
- [展览人周刊]华展云20170626期