当前位置: 首页 > news >正文

描述政府网站网站建设广西南宁做网站的公司

描述政府网站网站建设,广西南宁做网站的公司,北流网站建设制作,建设网站制作本文目录 前言一、创建XML映射文件二、MybatisX插件安装三、mapper标签四、select标签UserMapper接口方法UserMapper.xml 五、resultMap标签定义resultMap标签修改select标签 总结 前言 MyBatis的强大在于它的语句映射,它提供了注解和XML映射文件两种开发方式&…

CSDN成就一亿技术人


本文目录

  • 前言
  • 一、创建XML映射文件
  • 二、MybatisX插件安装
  • 三、mapper标签
  • 四、select标签
    • UserMapper接口方法
    • UserMapper.xml
  • 五、resultMap标签
    • 定义resultMap标签
    • 修改select标签
  • 总结


前言

MyBatis的强大在于它的语句映射,它提供了注解和XML映射文件两种开发方式,都是为了减少我们的使用成本,屏蔽JDBC代码细节,节省代码,从而让我们更专注于SQL代码!

通过 《上文》,我们学会了常用12种注解开发,本文主要讲解XML映射文件方式开发,轻松学会创建XML映射文件和常用的select标签resultMap标签的用法。


一、创建XML映射文件

XML映射文件的目录位置通常推荐创建在resources下,例如实战案例创建如下:

tg-book-dalresources下创建与UserMapper.java对应的Xml映射文件UserMapper.xml,如下图:

在这里插入图片描述

要求:路径相同,名称相同。

不同行不行?可以通过mybatis.mapper-locations配置!建议保持默认相同!

UserMapper.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">
<mapper namespace="org.tg.book.dal.mapper.UserMapper"></mapper>

二、MybatisX插件安装

这里推荐安装使用MybatisX插件,非常方便在接口与XML映射文件之间来回跳转!以及可以生成标签

IDEA的File-》Settings-》Plugins 搜索MybatisX安装即可!

在这里插入图片描述


三、mapper标签

mapper标签,它是最顶级的标签,也就是XML根标签,通过namespace属性指定对应的接口,比如这里指定的是:org.tg.book.dal.mapper.UserMapper,这样接口和XML映射文件就产生了关联,接口通过JDK动态代理生成实现类时,就会读取XML映射文件的对应配置!

如何配置呢?常用的XML标签有:

  • select标签(对应写查询SQL语句)
  • resultMap标签(结果映射,上文曾介绍过)
  • insert标签(对应写插入INSERT语句)
  • update标签(对应写修改UPDATE语句)
  • delete标签(对应写删除DELETE语句)
  • sql标签(对应写SQL语句,这个SQL语句可被其他语句引用的可重用的语句块)

四、select标签

我们先删除上文的注解方式,换成XML映射文件的方式来实现!

UserMapper接口方法

@Param指定参数名

public interface UserMapper {User selectByUserNamePassword(@Param("userName") String userName,@Param("password") String password);
}

这时MybatisX插件会提示一个错误,把鼠标悬浮在方法上,会提示selectByUserNamePassword方法在xml中没有定义,我们点击Generate statement

MybatisX生成接口方法对应的xml

UserMapper.xml

这时,在UserMapper.xml中会生成一个select标签使用id属性指定对应的接口方法名,使用resultType属性指定返回类型,如下图:

Mybatis 生成select标签

这里依然有一个警告:XML tag has empty body,是因为我们没有写对应的查询select语句SQL,我们在select标签中补充SQL语句如下:

select * from user where user_name =#{userName} and password =#{password}

SQL中的参数使用#{}作为占位符
Mybatis select sql

实际的效果与上文使用的@Select注解相同!


五、resultMap标签

同样的,运行后你会发现【User对象】的userId并没有取到值,原因是【user表】的字段名叫id,而不是userId,名称不同所以无法获取到对应的值,我们通过resultMap标签方式解决。

定义resultMap标签

<resultMap id="UserMap" type="org.tg.book.dal.po.User"><id column="id" jdbcType="INTEGER" property="userId"/><result column="user_name" jdbcType="VARCHAR" property="userName"/><result column="password" jdbcType="VARCHAR" property="password"/>
</resultMap>

resultMap标签说明:

  • 通过id属性定义唯一标识,type属性定义结果类型
  • 通过id标签指定主键列, result标签指定非主键列
    • property指定对象的属性名
    • column指定数据表的列名
    • jdbcType指定数据表的字段类型

修改select标签

使用resultMap属性代替了resultType属性,resultMap属性内指定刚定义的resultMap id名称。

Mybatis resultMap

实际的效果与上文使用的@Results和@Result注解相同!

OK,到这,我们就使用XML映射文件方式,完整实现了接口方法selectByUserNamePassword!

总结

写一个数据库查询方法,简单来说,步骤如下:

  1. 创建接口对应的xml映射文件
  2. 创建查询方法对应的select标签
  3. 写查询selec语句SQL
  4. 【可选】如果【数据库字段】与【PO对象属性】不一致,需要增加结果映射resultMap标签,然后在select标签使用resultMap属性指定resultMap标签
http://www.dinnco.com/news/53743.html

相关文章:

  • 长沙做最好网站app推广30元一单平台
  • 南京营销型网站建设公司线上宣传渠道和宣传方式
  • 用python做的大型网站产品优化是什么意思
  • 做网站的流程百科网上销售
  • 巴南网站制作外贸谷歌优化
  • 哈尔滨模板建站源码厦门人才网个人版
  • 400电话网站源码东莞关键词排名提升
  • 网站建设公司兴田德润优惠网络广告形式
  • 南京哪里有做公司网站的百度百科优化排名
  • 2022新闻热点事件及评论杭州上城区抖音seo如何
  • 网站关键词没有排名可以发外链的论坛有哪些
  • 河北省建设环境备案网站seo搜索价格
  • 门户网站首页模板下载软文外链代发
  • app平台运营及管理下载班级优化大师app
  • 手机桌面布局设计软件seo点击软件手机
  • 网站中微信公众号链接怎么做西安seo优化工作室
  • 中山哪里有做网站360竞价推广怎么做
  • 用html做简单网站网站建设流程是什么
  • 个性化网站模板常州免费网站建站模板
  • 黄页大全18勿看2000网站郑州网站优化seo
  • 用什么程序做网站腾讯广点通
  • wordpress修改地址后网站打不开nba录像回放
  • 滨州网站建设电话专业推广引流团队
  • 昆明做网站做的好的公司推广app佣金平台正规
  • 如何建立营销网络网站seo专员
  • 做英文网站有哪些seo网站关键词优化工具
  • 网站备案负责人 更换购物网站推广方案
  • 公司做网站需要提供什么条件大侠seo外链自动群发工具
  • 网站的技术维护一般要做些什么seo排名优化seo
  • 淘宝优惠群的网站是怎么做网店推广是什么