Java框架MyBatis工作流程是怎样的?一、Mybatis介绍
【java代码工具My java工具类代码】MyBatis是一款一流的支持自定义SQL、存储过程和高级映射的持久化框架 。MyBatis几乎消除了所有的JDBC代码,也基本不需要手工去 设置参数和获取检索结果 。MyBatis能够使用简单的XML格式或者注解进行来配置 , 能够映射基本数据元素、Map接口和POJOs(普通java对 象)到数据库中的记录 。
二、MyBatis工作流程
(1)加载配置并初始化
触发条件:加载配置文件
配置来源于两个地方,一处是配置文件,一处是Java代码的注解,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置) , 存储在内存中 。
(2)接收调用请求
触发条件:调用Mybatis提供的API
传入参数:为SQL的ID和传入参数对象
处理过程:将请求传递给下层的请求处理层进行处理 。
(3)处理操作请求 触发条件:API接口层传递请求过来
传入参数:为SQL的ID和传入参数对象
处理过程:
(A)根据SQL的ID查找对应的MappedStatement对象 。
(B)根据传入参数对象解析MappedStatement对象 , 得到最终要执行的SQL和执行传入参数 。
(C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行 , 并得到执行结果 。
(D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果 。
(E)释放连接资源 。
(4)返回处理结果将最终的处理结果返回 。
orm工具的基本思想
无论是用过的hibernate,mybatis,你都可以法相他们有一个共同点:
从配置文件(通常是XML配置文件中)得到 sessionfactory.
由sessionfactory产生 session
在session 中完成对数据的增删改查和事务提交等.
在用完之后关闭session。
在java 对象和 数据库之间有做mapping 的配置文件,也通常是xml 文件 。
功能架构
Java框架篇---Mybatis 入门
Mybatis的功能架构分为三层:
API接口层:提供给外部使用的接口API , 开发人员通过这些本地API来操纵数据库 。接口层一接收到调用请求就会调用数据处理层来完成具体的数据处理 。
数据处理层:负责具体的SQL查找、SQL解析、SQL执行和执行结果映射处理等 。它主要的目的是根据调用的请求完成一次数据库操作 。
基础支撑层:负责最基础的功能支撑,包括连接管理、事务管理、配置加载和缓存处理,这些都是共用的东西,将他们抽取出来作为最基础的组件 。为上层的数据处理层提供最基础的支撑 。
多需要添加的驱动包:
Java框架篇---Mybatis 入门
下面进行快速入门:
目录如下:
Java框架篇---Mybatis 入门
实体类User
package com.oumyye.model;
public class User {
private String id;
private String name;
privateint age;
public String getId() {
return id;
}
public void setId(String 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;
}
@Override
public String toString() {
return "User [id="id", name="name", age="age"]";
}
}
映射文件UserMapping.xml
?xml version="1.0" encoding="UTF-8" ?
!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" ""
mapper namespace="com.oumyye.mapping.UserMapping"
!-- 在select标签中编写查询的SQL语句 , 设置select标签的id属性为getUser,id属性值必须是唯一的,不能够重复
使用parameterType属性指明查询时使用的参数类型,resultType属性指明查询返回的结果集类型
resultType="com.oumyye.model.User"就表示将查询结果封装成一个User类的对象返回
User类就是users表所对应的实体类
--
!--
根据id查询得到一个user对象
--
select id="getUser" parameterType="String"
resultType="com.oumyye.model.User"
select * from user where id=#{id}
/select
/mapper
资源文件mybatis.xml
?xml version="1.0" encoding="UTF-8"?
!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" ""
configuration
environments default="development"
environment id="development"
transactionManager type="JDBC" /
!-- 配置数据库连接信息 --
dataSource type="POOLED"
property name="driver" value="https://www.04ip.com/post/com.mysql.jdbc.Driver" /
property name="url" value="https://www.04ip.com/post/jdbc:mysql://localhost:3306/mybatis" /
property name="username" value="https://www.04ip.com/post/root" /
property name="password" value="https://www.04ip.com/post/root" /
/dataSource
/environment
/environments
mappers
mapper resource="com/oumyye/mapping/userMapping.xml"/
/mappers
/configuration
测试类:
package test;
import java.io.InputStream;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.junit.Test;
import com.oumyye.model.User;
public class Tests {
@Test
public void test(){
String resource = "mybatis.xml";
//使用类加载器加载mybatis的配置文件(它也加载关联的映射文件)
InputStream is = Tests.class.getClassLoader().getResourceAsStream(resource);
//构建sqlSession的工厂
SqlSessionFactory sessionFactory = new SqlSessionFactoryBuilder().build(is);
SqlSession session = sessionFactory.openSession();
/**
* 映射sql的标识字符串,
* com.oumyye.mapping.UserMapping是userMapper.xml文件中mapper标签的namespace属性的值,
* getUser是select标签的id属性值,通过select标签的id属性值就可以找到要执行的SQL
*/
String statement = "com.oumyye.mapping.UserMapping.getUser";//映射sql的标识字符串
//执行查询返回一个唯一user对象的sql
User user = session.selectOne(statement, "1123");
System.out.println(user.toString());
}
}
结果:
如何在记事本中运行java代码?用记事本写完代码后运行方法如下:
1、用浏览器打开用记事本编写的代码
新建“文本文档”后,鼠标右键点击该文本文档,在菜单栏的“打开方式”选择“用记事本打开”,也可以设置默认打开方式为“记事本”;用记事本打开文本文档后,直接在该文档内根据自己的需要输入想要编辑的网页代码 。
2、记事本写java代码怎么运行
首先,需要安装jdk并配置环境变量 。然后,在命令行中,用javac命令编译用记事本编写的代码 。下一步,在命令行中 , 用java命令执行编译后的结果 。
代码是什么
代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系 。代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等 。
计算机源代码最终目的是将人类可读文本翻译成为计算机可执行的二进制指令,这种过程叫编译 , 它由通过编译器完成 。源代码就是用汇编语言和高级语言写出来的地代码 。目标代码是指源代码经过编译程序产生的能被 cpu直接识别二进制代码 。
可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的 。
java mybatisplusjava mybatisplus是什么java代码工具My , 让我们一起java代码工具My了解一下java代码工具My?
MyBatis-Plus(简称MP)是一个MyBatis的增强工具,提供很多实用的插件 。在Mybatis的基础上,只做增强不做改变,为简化我们开发,提高工作效率而生 。
MyBatis-Plus的有些什么特性java代码工具My?
侵入:MyBatis-Plus是在MyBatis的基础上增强的 , 而没有做任何的改变,所以在项目中引入MyBatis Plus 不会对你的现在的MyBatis构架有任何的影响 。
依赖少:引入MyBatis-Plus要导入什么包呢java代码工具My?仅仅依赖MyBatis与MyBatis-Spring就可以了 。
损耗?。浩舳? ,会自动注入基本的CRUD , 性能基本无消耗,直接面向对象操作 。
支持热加载:Mapper对应的XML支持热加载,对于简单的CRUD操作 , 甚至可以无XML启动 。
支持代码生成:采用代码或Maven插件可快速生成Mapper、Model、Service、Controller层代码,支持模板引擎,更 提供了超多的自定义配置让你使用 。
实战操作:新建springboot项目,添加依赖至pom.xml 。org.springframework.bootspring-boot-starter-parent2.2.6.RELEASEorg.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-testtestorg.projectlomboklomboktruecom.baomidoumybatis-plus-boot-starter3.3.1.tmpmysqlmysql-connector-java5.1.26
java代码工具My的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java工具类代码、java代码工具My的信息别忘了在本站进行查找喔 。
推荐阅读
- 包含js跳转代码404的词条
- 恋爱的单机游戏,恋爱剧情单机手机游戏
- web服务器stm32,WEB服务器开发工程师
- JAVA时钟转动的代码 java数字时钟程序
- 横版格斗龙珠游戏,龙珠横版格斗游戏叫什么
- python爬虫实时监控商品价格,爬虫监控库存
- php连接数据字符集 php连接数组
- 电视插u盘什么格式,电视插u盘用什么格式
- 如何找电商罗盘,如何找电商罗盘客服