mybatis用来干嘛的(什么是mybatis 为什么要使用my batis)
本文目录
- 什么是mybatis 为什么要使用my batis
- java中的mybatis是做什么用的
- spring mvc中的mybatis怎么使用
- mybatis 生成的example类是做什么使用的在哪里调用
- mybatis-spring-boot-starter怎么使用
什么是mybatis 为什么要使用my batis
1、定义MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架。2、使用原因MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。3、总体流程(1)加载配置并初始化触发条件:加载配置文件处理过程:将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)返回处理结果将最终的处理结果返回。
java中的mybatis是做什么用的
mybatis和hibernate的区别:mybatis是把sql语句与java代码分离了sql语句在xml文件配置的hibernate是ORM框架,它对jdbc进行了封装,在分层结构中处于持久化层,它能建立面向对象的域模型和关系数据模型之间的映射.它大大简化了dao层的编码工作
spring mvc中的mybatis怎么使用
spring mvc+myBatis配置详解一、spring mvcSpring框架(框架即:编程注解+xml配置的方式)MVC是Spring框架的一大特征,Spring框架有三大特征(IOC(依赖注入),AOP(面向切面),MVC(建模M-视图V-控制器C)。框架一般用于团队开发,使用分层的方式使每个人完成不同的模块,然后再组合在一起,使完成项目。以下是Spring mvc具有的能加速开发的功能列表:Spring mvc中提供了一个DispatchServlet,无需额外开发Spring mvc中使用基于xml的配置文件,可以,而无需重新编译应用程序Spring mvc实例化控制器,并根据用户输入来构造Bean。Spring mvc可以自动绑定用户输入,并正确的转换数据类型。例如,Spring mvc能自动解析字符串,并设置float或decimal类型的属性.Spring mvc可以校验用户输入,若校验不通过,则重定向回输入表单。输入校验是可选的,支持编程方式以及声明。关于这一点,Spring mvc内置了常见的校验器Spring mvc是Spring框架的一部分,可以利用Spring提供的其他能力。Spring mvc支持国际化和本地化。支持根据用户区域显示多国语言Spring mvc支持多种视图技术。最常见的JSP技术以及其他技术包括Velocity和FreeMarker.配置spring mvc1、导入Spring需要的jar 包2、配置spring-mvc.xml复制代码《?xml version=“1.0“ encoding=“UTF-8“?》《beans xmlns=“springframework/schema/beans“xmlns:xsi=“w3/2001/XMLSchema-instance“xmlns:context=“springframework/schema/context“xmlns:jdbc=“springframework/schema/jdbc“xmlns:jee=“springframework/schema/jee“xmlns:tx=“springframework/schema/tx“xmlns:aop=“springframework/schema/aop“xmlns:mvc=“springframework/schema/mvc“xmlns:util=“springframework/schema/util“xmlns:jpa=“springframework/schema/data/jpa“xsi:schemaLocation=“springframework/schema/beans springframework/schema/beans/spring-beans-3.2.xswww.66298899.comrk/schema/context springframework/schema/context/spring-context-3.2.xswww.66298899.comrk/schema/jdbc springframework/schema/jdbc/spring-jdbc-3.2.xswww.66298899.comrk/schema/jee springframework/schema/jee/spring-jee-3.2.xswww.66298899.comrk/schema/tx springframework/schema/tx/spring-tx-3.2.xswww.66298899.comrk/schema/data/jpa springframework/schema/data/jpa/spring-jpa-1.3.xswww.66298899.comrk/schema/aop springframework/schema/aop/spring-aop-3.2.xswww.66298899.comrk/schema/mvc springframework/schema/mvc/spring-mvc-3.2.xswww.66298899.comrk/schema/util springframework/schema/util/spring-util-3.2.xsd“》《!-- HandlerMapping --》《mvc:annotation-driven/》开启spring mvc注解扫描,如果不基于注解: 该类需要继承 CommandController 或者 其他很多 参见 spring帮助.我用的是基于注解的,这样比较方便《!-- 扫描Controller,Service --》《context:component-scanbase-package=“com.包名“/》开启组件扫描,请确保所有的控制器都在基本包下,并且不要制定一个太宽泛的基本包《/beans》复制代码补充:第一个为开启spring mvc注解扫描,如果不基于注解: 该类需要继承 CommandController 或者 其他很多 参见 spring帮助.我用的是基于注解的,这样比较方便第二个为开启组件扫描Spring使用扫描机制来找到应用程序中所有基于注解的控制器类,为了能保证Spring你那个找到你的控制器,a.需要在Spring mvc中配置spring-contextb.在《context:component-scan base-package=“com.包名“/》元素中指定控制器类的基本包基于此,在Controller中可以方便调用了,实例见最下方3.部署web.xmlDispatcherServlet作为Spring mvc框架中的一级控制器(前端控制器),是浏览器发送请求的入口该Servlet的全称是org.springframework.web.servlet.DispatcherServlet.要使用这个Servlet,需要把他配置在部署描述符(web.xml),应用servlet和servlet-mapping元素如下:相关解释:1、servlet元素内的on-startup元素是可选的。if存在,表示它将在应用程序启动时就装在servlet并调用它的init方法。else,则在该servlet的第一个请求是加载。2、Dispatcher Servlet将会使用spring mvc诸多默认组件。此外,初始化时,它会寻找一个在应用程序下的web-INF目录下 的配置文件,该配置文件的命名规则如下;servletName-servlet.xml其中servletName是在部署描述符中的Dispatcher Servlet的名字。如图所示,本例中的servlet-name为springmvc,则在初始化的时候会找到第二步配置的springmvc.xml文件.3、当然springmvc.xml文件也可以放到应用程序目录中的任何地方,《init-param》《/init-param》元素就是为了实现这个功能的。其中的《param-name》不用改,而《param-value》则包含配置文件的路劲。补充一下:(1)Spring可以通过指定classpath*:与classpath:前缀加路径的方式从classpath加载文件,如bean的定义文件.classpath*:的出现是为了从多个jar文件中加载相同的文件.classpath:只能加载找到的第一个文件(2) url-pattern的写法1 三种写法① 完全匹配《url-pattern》/test/list.do《/url-pattern》② 目录匹配《url-pattern》/test/*《/url-pattern》③ 扩展名匹配《url-pattern》*.do《/url-pattern》2 注意事项容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。定义”/*.action”这样一个看起来很正常的匹配会报错?因为这个匹配即属于路径映射,也属于扩展映射,导致容器无法判断。“/” 是用来定义default servlet映射的。*.do它不是一个文件,并没有一个真正的.do文件存在,只是一个servlet映射.意思是URL里一切以.do结尾的URL都驱动servlet里设置的那个类;而*则是所有请求都交由servlet里设置的那个类处理!二、MyBatis的配置和使用Spring与MyBatis结合,主要是由Spring管理数据库访问组件Dao,数据库访问组件主要是基于MyBatis实现,在Spring环境中使用MyBatis实现数据库访问组件过程是:首先需要引入一个Spring和MyBatis整合的开发包 mybatis-spring-1.2.2.jar。在Spring配置中定义SqlSessionFactoryBean,等价于SqlSessionFactory放入Spring容器管理。(不需要开发者利用手工创建SqlSessionFactory对象,需要开发者定义式注入连接信息和SQL定义的XML信息)在Spring配置中定义MapperFactoryBean,可以根据指定的Mapper接口生成一个Mapper实现类接口。需引入引入开发包:spring ioc,spring aop,dbcp,mybatis,驱动,mybatis-spring.jar。添加Spring框架的配置文件主要有applicationContext.xml,根据user表编写实体类User,编写UserMapper.xml(定义SQL语句),并且编写UserMapper接口(与UserMapper.xml映射),在applicationContext.xml中配置组件SqlSessionFactoryBean,Mapper FactoryBean。最后测试MapperFactoryBean生成的UserMapperDao实例。MyBatis的两个特点:1.MyBatis采用SQL与Entity映射,对JDBC封装程度较轻2.MyBatis自己写SQL,更具有灵活性配置MyBatis(1)导入jar包(2)创建数据库(3)添加MyBatis.xml配置文件复制代码《?xml version=“1.0“ encoding=“UTF-8“?》《beans xmlns=“springframework/schema/beans“xmlns:xsi=“w3/2001/XMLSchema-instance“xmlns:context=“springframework/schema/context“xmlns:jdbc=“springframework/schema/jdbc“xmlns:jee=“springframework/schema/jee“xmlns:tx=“springframework/schema/tx“xmlns:aop=“springframework/schema/aop“xmlns:mvc=“springframework/schema/mvc“xmlns:util=“springframework/schema/util“xmlns:jpa=“springframework/schema/data/jpa“xsi:schemaLocation=“springframework/schema/beans springframework/schema/beans/spring-beans-3.2.xswww.66298899.comrk/schema/context springframework/schema/context/spring-context-3.2.xswww.66298899.comrk/schema/jdbc springframework/schema/jdbc/spring-jdbc-3.2.xswww.66298899.comrk/schema/jee springframework/schema/jee/spring-jee-3.2.xswww.66298899.comrk/schema/tx springframework/schema/tx/spring-tx-3.2.xswww.66298899.comrk/schema/data/jpa springframework/schema/data/jpa/spring-jpa-1.3.xswww.66298899.comrk/schema/aop springframework/schema/aop/spring-aop-3.2.xswww.66298899.comrk/schema/mvc springframework/schema/mvc/spring-mvc-3.2.xswww.66298899.comrk/schema/util springframework/schema/util/spring-util-3.2.xsd“》《bean id=“dbcp“class=“org.apachemons.dbcp.BasicDataSource“》《property name=“username“ value=“****“》《/property》《property name=“password“ value=“***“》《/property》《property name=“driverClassName“value=“com.mysql.jdbc.Driver“》《/property》《property name=“url“value=“jdbc:mysql:///cloud_note“》《/property》《!-- 《property name=“url“ value=“jdbc:mysql://localhost:3306/cloud_note?useUnicode=true&characterEncoding=utf-8“》《/property》 --》《/bean》《bean id=“ssf“class=“org.mybatis.spring.SqlSessionFactoryBean“》《property name=“dataSource“ ref=“dbcp“》《/property》《property name=“mapperLocations“value=“classpath:com/niuniu/sql/*.xml“》《/property》《/bean》《bean id=“mapperscanner“class=“org.mybatis.spring.mapper.MapperScannerConfigurer“》《property name=“sqlSessionFactory“ ref=“ssf“》《/property》《property name=“basePackage“value=“com.niuniu.dao“》《/property》《/bean》《/beans》复制代码(4)定义表所对应的实体类,如下图所示代码如下:复制代码package com.niuniu.entity;import java.io.Serializable;public class User implements Serializable {private String cn_user_id;private String cn_user_name;private String cn_user_password;private String cn_user_token;private String cn_user_nick;public String getCn_user_id() {return cn_user_id;}public void setCn_user_id(String cnUserId) {cn_user_id = cnUserId;}public String getCn_user_name() {return cn_user_name;}public void setCn_user_name(String cnUserName) {cn_user_name = cnUserName;}public String getCn_user_password() {return cn_user_password;}public void setCn_user_password(String cnUserPassword) {cn_user_password = cnUserPassword;}public String getCn_user_token() {return cn_user_token;}public void setCn_user_token(String cnUserToken) {cn_user_token = cnUserToken;}public String getCn_user_nick() {return cn_user_nick;}public void setCn_user_nick(String cnUserNick) {cn_user_nick = cnUserNick;}}复制代码(5)定义操作users表的sql映射文件UserMapping.xml复制代码《?xml version=“1.0“ encoding=“UTF-8“ ?》《!DOCTYPE mapper PUBLIC “-//ibatis.apache//DTD Mapper 3.0//EN““使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;
mybatis 生成的example类是做什么使用的在哪里调用
简单来说就是example就是sql语句的一部分,就是简化你书写sql语句的
给你个参考吧
通过用户名查找用户登陆吧,随便写的,卸载serviceimpl中
注入Mapper
mybatis-spring-boot-starter怎么使用
spring主要用来管理对象关系的,mybatis是链接数据库的。这两个单独也可以使用的,整合是因为现在ssh ssi比较流行也就是spring Struts2 hibernate mybatis也叫ibatis。
更多文章:

click15杨策出什么事了(杨策为什么退出click15)
2025年2月21日 13:10

thumbdata(.thumbdata3-1763508120是什么文件)
2025年3月2日 00:20

oracle数据库客户端安装(怎样安装oracle数据库服务器)
2025年2月26日 15:40

delphi 安卓(大家觉得用delphi 开发安卓程序有前途么)
2025年3月15日 07:20

java语言程序设计第四版(自学java编程有什么好的教程吗)
2025年4月2日 15:20

computer science(计算机科学课(computer science)是否应该成为国内中学生的主课之一)
2025年2月17日 20:20

教师法心得体会(教育政策法规与教师职业道德规范的学习心得,500字,谢谢)
2025年3月8日 21:40

原码 反码 补码(计算机的原码,反码,补码是怎么回事可以举例说明吗)
2025年3月7日 08:30

jsp教程pdf(在JSP中怎么实现网页直接浏览PDF和WORD文件)
2025年2月20日 07:40

欢迎页面图片(U盘启动进PE装系统的那个欢迎界面图片怎么改)
2025年3月27日 12:20

filterconfig(请问如何在Filter中获取ServletConfig对象)
2025年2月22日 07:00

奥鹏教师教育网官网(奥鹏远程教育的成绩怎么查询在哪个网站查)
2025年2月11日 14:50