Mybatis手工写sql语句及Mapper.xml方法
首先在项目中
建一个mapper包,然后在spring集合mybatis的配置文件中设置扫描这个mapper包

然后,建 封装查询结果需要的 pojo

然后,在 mapper包中创建 Mapper接口文件

然后,在同一个包下面创建 xml文件:

需要注意的是:
1. 点xml文件的名字要和java Mapper接口类 的名字一致并放在同一个包(即配置的扫描包)下面
2.点xml中的 namespace 值为 mapper接口类的全限定名,返回结果 resultType为 pojo 的全限定名
3.头部要从mybatis生成工具自动生成的点xml文件中拷过来一个 dtd头部
这时我们启动项目,不会报错,但是当我们前台访问需要调用我们自定义的 mapper.xml文件中的方法时,就会报如下错误:

这是因为 spring框架扫描不到我们自定义的 .xml文件,需要做如下配置:
在 项目的pom文件中,配置扫描 .xml文件:

配好后,我们启动项目:
我们会发现,还没到访问方法那步,在项目启动时就会报错:


它会报 找不到 spring下的各种配置文件的错误,我们看:

项目中的各个配置文件都是有的,但就是报错,原因是
原来当我们不在 pom文件的 Build 标签下 配置 resource 标签时,框架会自动扫描 项目下的
src/main/java 和 src/main/resource 两个目录,所以能加载其中的各个配置文件,
但是当我们在 pom的 Build下配置了 resource标签后,框架就不在默认扫描 src/main/java 和 src/main/resource 两个目录 了,而是仅 扫描 resource标签中配置的目录,而我们刚才只配置了:

扫描src/main/java目录,所以 src/main/resource目录中的文件找不到了,所以如果我们在 pom中配置 resource标签的话,要把所有要扫描的目录都配上,即加入如下配置:

这回再重启系统,访问,就没问题了。
Mybatis手工写sql语句及Mapper.xml方法的更多相关文章
- 在mybatis中写sql语句的一些体会
本文会使用一个案例,就mybatis的一些基础语法进行讲解.案例中使用到的数据库表和对象如下: article表:这个表存放的是文章的基础信息 -- ------------------------- ...
- 控制台输出 mybatis 中的sql语句
控制台输出 mybatis 中的sql语句 在 log4j.xml 文件中 增加如下配置 <!-- mybatis 输出的sql,DEBUG级别 --> <logger name=& ...
- 详解Java的MyBatis框架中SQL语句映射部分的编写
这篇文章主要介绍了Java的MyBatis框架中SQL语句映射部分的编写,文中分为resultMap和增删查改实现两个部分来讲解,需要的朋友可以参考下 1.resultMap SQL 映射XML 文件 ...
- 《你还在写sql语句吗?》人生苦短,进入MybatisPlus的丝滑体验
一.发展历程 依稀记得大学期间,类中写sql语句的日子,一个sql语句占据了大部分时间,到后来hibernate的出现算是解决了这一痛点.工作 后,我们又接触到了mybatis这样的框架,瞬间感觉这个 ...
- MyBatis 中实现SQL语句中in的操作 (11)
MyBatis 中实现SQL语句中in的操作 概括:应用myBatis实现SQL查询中IN的操作 1.数据库结构及其数据 2.mapper.xml文件 <?xml version="1 ...
- Mybatis增加对象属性不增加mapper.xml的情况
Mybatis增加对象属性不增加mapper.xml的情况: 只增加Model 对象的属性,在查询语句中返回相同名称的字段,但是在mapper中的 resultMap上面不进行新增字段的增加,查询结果 ...
- Mybatis中动态SQL语句中的parameterType不同数据类型的用法
Mybatis中动态SQL语句中的parameterType不同数据类型的用法1. 简单数据类型, 此时#{id,jdbcType=INTEGER}中id可以取任意名字如#{a,jdbcType ...
- mybatis日志,打印sql语句,输出sql
mybatis日志,打印sql语句,输出sql<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE ...
- 写sql语句分别按日,星期,月,季度,年统计
--写sql语句分别按日,星期,月,季度,年统计销售额 --按日 ' group by day([date]) --按周quarter ' group by datename(week,[date]) ...
随机推荐
- Unity Lighting - Lighting overview 照明概述
Lighting overview 照明概述 In order to calculate the shading of a 3D object, Unity needs to know the ...
- 树莓派 Raspberry Pi 与 micro:bit起手式
本文将学习如何在Raspberry Pi上安装MicroPython编辑器mu,并将MicroPython中编写的程序从您的Raspberry Pi推送到micro:bit. 您需要: 硬件, 带有S ...
- 【system.folder】使用说明
对象:system.folder 说明:提供一系列针对文件夹的操作 目录: 方法 返回 说明 system.folder.exists(folderPath) [True | False] 检测指定文 ...
- 对Java对象的认识与理解
今天是我学习编程以来第一次写博客,记下平日学习所得,本来这几日都在学习web框架 但觉得梳理一下之前所学很有必要.毕竟之前学习Java感觉很粗略只是以考试为目的.所以就以<Thinking in ...
- struts2源码分析-初始化流程
这一篇文章主要是记录struts.xml的初始化,还原struts2.xml的初始化流程.源码依据struts2-2.3.16.3版本. struts2初始化入口,位于web.xml中: <fi ...
- 从零开始的Python学习Episode 5——字典
字典 字典是另一种可变容器模型,且可存储任意类型对象. 一.添加 (1)直接添加 dict={'name':'smilepup'} dict['age']=20 dict['name']='piggy ...
- 论文阅读之Joint cell segmentation and tracking using cell proposals
论文提出了一种联合细胞分割和跟踪方法,利用细胞segmentation proposals创建有向无环图,然后在该图中迭代地找到最短路径,为单个细胞提供分割,跟踪和事件. 3. PROPOSAL GE ...
- Ext JS 6学习文档-第8章-主题和响应式设计
Ext JS 6学习文档-第8章-主题和响应式设计 主题和响应式设计 本章重点在 ExtJS 应用的主题和响应式设计.主要有以下几点内容: SASS 介绍和入门 主题 响应式设计 SASS 介绍和入门 ...
- Code obfuscatio (翻译!)
Description Kostya likes Codeforces contests very much. However, he is very disappointed that his so ...
- 第一章 Java Web应用开发技术
Java Web应用开发是基于JavaEE(JavaEnterprise Edition)框架的,而JavaEE是建立在Java平台上的企业级应用解决方案.JavaEES框架提供的Web开发技术主要支 ...