mybatis简单入门

温故而知新      2022-04-11     752

关键词:

1.MyBatis架构(简单介绍MyBatis的流程)

  

接下来简单介绍一下这张图:首先明确我们的目的就是要创建sqlsession然后利用这个对象去执行sql 完成CRUD。创建sqlsession的前提就是用session工厂去创建,利用工厂创建需要原材料啊,所以最顶端的MyBatis配置文件就是所需要的原材料。至于最下面的Exector(执行者)就是sqlsession中的对象,具体是由它去执行sql语句,而MappedStatement对象再Executor中是一个存sql的对象,它把sql给Exectuor(执行者),执行者去执行。由于写的sql肯定有占位符啊,所以最左边的输入映射就是去替换里面的占位符。执行完sql,比如查询,必然会返回结果,那么输出映射就是把结果返回来

2.MyBatis下载

mybaits的代码由github.com管理

下载地址:https://github.com/mybatis/mybatis-3/releases

 

3.项目

  3.1 环境搭建

 3.11 创建一个Java Project

    

 3.12 导包

  首先在project创建一个lib文件夹

  把下载好的mybatis中的jar包和lib目录下的jar包复制到lib文件夹下

 

 

 

这里涉及到数据库 本人使用的是MySql 所以 把连接mysql的jar也导入,大家可以自己百度下载jar包

 bulid to path

 

  3.12 开始入门

  首先在数据库中创建一张表 这里我起名为user  并加点数据

  

  

  在项目中创建User的POJO对象 

 

 

package Com.Dy;

import java.util.Date;

public class User {
	private Integer id;
	private String username;
	private String sex;
	private Date birthday;
	private String address;

	public User() {
		super();
	}

	public User(Integer id, String username, String sex, Date birthday, String address) {
		super();
		this.id = id;
		this.username = username;
		this.sex = sex;
		this.birthday = birthday;
		this.address = address;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getUsername() {
		return username;
	}

	public void setUsername(String username) {
		this.username = username;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public Date getBirthday() {
		return birthday;
	}

	public void setBirthday(Date birthday) {
		this.birthday = birthday;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	@Override
	public String toString() {
		return "User [id=" + id + ", username=" + username + ", sex=" + sex + ", birthday=" + birthday + ", address="
				+ address + "]";
	}
	

}

  

根据最开始的架构图 第一步就是准备我们的原材料,所以开始写我们的核心配置文件sqlMapConfig.xml,既然涉及到了数据库我们肯定要告诉MyBatis使用什么数据库和连接字符串,让它可以去执行我们想要的sql。

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <environments default="development">
        <environment id="development">
            <!-- 使用jdbc事务管理 -->
            <transactionManager type="JDBC" />
            <!-- 数据库连接池 -->
            <dataSource type="POOLED">
                <!-- 驱动 -->
                <property name="driver" value="com.mysql.jdbc.Driver" />
                <!-- 连接字符串 -->
                <property name="url"
                    value="jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8" />
                <property name="username" value="root" />
                <property name="password" value="hjf" />
            </dataSource>
        </environment>
    </environments>
</configuration>

还是第一张图,可以看到除了核心配置文件,下面还有个Mapper.xml,这个xml文件就是我们用来写sql的地方,这样说可能比较抽象,看到代码大家应该能懂,所以我们来构建UserMap.xml,先把基础的头部完成。

<?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只会加载核心配置文件,所以我们要在核心文件中配置,告诉MyBatis去这个文件找sql。resource就是你的Map的名字,这里是相对路径,大家可以用ctrl加左键点一下,看能不能进去,点的进应该就没写错。

还是回到架构图,我们准备好了原材料,就要把原材料输送给工厂,所以我们创建一个单元测试,和创建普通类一样,就是要在你写的测试方法加上@Test,然后快捷键导包。

首先我们要获得原材料加载核心配置文件,有多种方法,这里就简单的用一种。

把材料输送给工厂,获得工厂对象

工厂有了材料,就可以造产品啦 

 

了Sqlsession就代表有了Executor对象,那么就可以去执行sql啦执行的sql是放在之前的UserMap,xml文件中,那么我们就去这个xml写sql吧,这里先写个简单的查询

 

sql是写在Mapping标签下,具体怎么写可以看下面的注释

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

<!-- 这里的namespace表示命名空间,防止和其他的Map里得id重复 -->
<mapper namespace="User">
    
    <!-- id表示这个select的名字,只能唯一,以后就是通过这个id去找到这个select和下面的sql -->
    
    <!-- #{}是占位符,里面的值可以是任意的 你可以写#{v}和这里的#{id}作用一样,我们需要告诉框架这个占位符是什么类型的,
      我这里的id是Integer类型,所以parameterType="Integer"
--> <!-- 大家可以看到框架最右边是可以返回POJO类型的数据,所以我们配置返回的类型是User型,所以resultType是User型,要写全类名哦 --> <select id="GetUser" parameterType="Integer" resultType="Com.Dy.User"> select * from user where id = #{id} </select> </mapper>

写好sql后,自然是执行sql啦,因为我们只查一个所以用下面这个方法

还记得上面我们写了个占位符嘛,这里的1 就是去替换占位符的。执行 结果:

 

 同理  如果你的paramterType是POJO类型,如下面的inserUser的select中,给入的参数是User类型,如果你的占位符中写的内容和你的类的字段相同,那么它就会默认用那个值,比如你要插入一个User,给一个User,那个User有一个username字段而且值为admin,那么你插入的时候如果写的是#{username}那么它就会用User类的username也就是admin去替换。

 

mybatis简单入门

1、Mybatis简介什么是MyBatisMyBatis是一款优秀的持久层框架MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集的过程MyBatis可以使用简单的XML或注解来配置和映射原生信息,将接口和Java的实体类【PlainOldJavaObjects,普通的Ja... 查看详情

mybatis简单入门

1.MyBatis架构(简单介绍MyBatis的流程)  接下来简单介绍一下这张图:首先明确我们的目的就是要创建sqlsession然后利用这个对象去执行sql完成CRUD。创建sqlsession的前提就是用session工厂去创建,利用工厂创建需要原材料啊,所以... 查看详情

mybatis快速入门,mybatis简单实例,如何使用mybatis

目录结构:  1.导入所需要的包2.创建数据库createdatabasemybatis;usemybatis;CREATETABLEusers(idINTPRIMARYKEYAUTO_INCREMENT,NAMEVARCHAR(20),ageINT);INSERTINTOusers(NAME,age)VALUES(‘Tom‘,12);INSERTINTOusers(NAME, 查看详情

mybatis入门以及简单案例

  这两天学习了mybatis框架,实现了简单的curd功能.有好多技术这里没有用到,在这里我用的开发工具为idea,jdk版本为1.8.   mybatis分析大概如下:MyBatis有两类配置文件:a)mybatis-condig.xml,是MyBatis的全局配置文件,包含全局配置... 查看详情

mybatis简单入门--插入数据

1.开发环境IDE:IDEA构建工具:maven4.0.0MySQL版本:8.0.11、记得创建好数据库Mybatis版本:3.5.7MySQL不同版本的注意事项驱动类driver-class-nameMySQL5版本使用jdbc5驱动,驱动类使用:com.mysql.jdbc. 查看详情

mybatis简单入门

转载:首先是环境的配置,我使用maven创建项目,pom.xml文件如下<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation 查看详情

mybatis简单认识(入门)

1.1. 入门准备  创建个java项目,项目结构   1.2在lib文件中导入相应的jar包(注意添加完后,记得右键文件lib点击选中AddasLibrary)  1.3准备相应的表     1.4.准备相应的domain,在domain文件里... 查看详情

java--mybatisplus入门;与mybatis区别;简单使用(代码片段)

阅读前可先参考Java--MyBatis入门_MinggeQingchun的博客-CSDN博客_javamybatis一、MyBatis-PlusMyBatis-Plus(简称MP)是一个 Mybatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生MyBatis-Plus在MyBatis之上... 查看详情

hibernate和mybatis的简单入门

HibernateHibernate是开发者社区比较流行的持久化框架它不仅提供了基本的对象关系映射,还提供了作为ORM工具所应有的复杂功能比如:缓存、延迟加载、预先抓取和分布式缓存使用Hibernate的主要接口是org.hibernate.SessionSession接口提... 查看详情

mybatis入门要素

...代码,可以比较完全的掌握它的设计思路和实现。灵活:mybatis不会对应用程序或者数据库的现有设计强加任何影响。sql写在xml里,便于统一管理和优化。通过sql语句可以满足操作数据库的所有需求。解除sql与程序代码的耦合:... 查看详情

mybatis入门步骤

mybatis就是解决原来用jdbc需要写对象里的多个属性的费时操作,导入一堆配置文件让增删改查代码变简单  查看详情

mybatis入门

MyBatis学习总结(一)——MyBatis快速入门一、Mybatis介绍    MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单... 查看详情

mybatis入门

MyBatis入门1.MyBatis前身是iBatis,是Apache的一个开源项目,2010年这个项目迁移到了GoogleCode,改名为MyBatis,2013年迁移到GitHub。是一个基于DAO层处理的ORM框架ORM:ObjectRelationalMapping对象关系映射在mybatis中指的是sql语句与实体类之间的映... 查看详情

mybatis入门

1.mybatis简单介绍1.1mybatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。mybatis是一个基于Java的持久层框架(半自动),主要包括SQLMaps和DataAccessObjects(DAO... 查看详情

mybatis入门

         Mybatis入门MyBatis是什么:MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis避免了几乎所有的JDBC代码和手动设置参数以及获取结果集。MyBatis可以使用简单的XM... 查看详情

mybatis入门

标题目录    1.mybatis简单介绍 2.mybatis与hibernate的区别     3.搭建mybatis框架环境   4.基于ssm逆向工程的使用(IDEA)   5.Mybatis增删改查案例  1.m 查看详情

mybatis入门

1.  MyBatis认识MyBatis是一款优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。MyBatis可以使用简单的XML配置或注解来配置和映射原生信息,将接口和Java的POJO(PlainOrdinaryJavaObject,普通Java对象)映射成数据库中... 查看详情

mybatis入门学习

一、MyBatis入门简要介绍(百科)  MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接... 查看详情