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编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets()
Unity编辑器 - 资源修改立即写入磁盘AssetDataBase.SaveAssets() 在编写编辑器时,如果需要修改Unity序列化资源(如Prefab,美术资源,ScriptableObje ...
- TW实习日记:第28天
同前两天一样,等接口,开发,调试接口.重复地做着低级代码得搬运工作,确实挺没意思的.怪不得有些人一直说写低级代码很无聊,没有创造性和成就感.31号准备溜了,还是好好复习准备秋招吧. 挖坑清单: Vue ...
- spark dataset join 使用方法java
dataset<Row> df1,df2,df3 //该方法可以执行成功 df3= df1.join(df2,"post_id").selectExpr("h ...
- Vuejs 基础与语法
Vue 实例 创建第一个实例 {{}} 被称之为插值表达式.可以用来进行文本插值. <!DOCTYPE html> <html lang="en"> < ...
- DataTable转Json,Json转DataTable
// 页面加载时 /// </summary> /// <param name="sender"></param> /// <param ...
- Kali渗透测试-SNMP
1.snmpwalk -v指定snmpwalk版本 -c指定密码 2.snmp-check 获取系统信息,主机名,操作系统及架构 获取用户账户信息 获取网络信息 获取网络接口信息 IP信息 路由信息 ...
- [C++] Copy Control (part 1)
Copy, Assign, and Destroy When we define a class, we specify what happens when objects of the class ...
- c#积累之测试
初来上班,免不了看别人代码.快速搞懂别人代码是我现在受到的一大挑战.寻摸着规律,发现一边进行调试,一边进行行行注释的逻辑判断不失为一种妙招. c#调试用的是vs2012.f11键和f10和f5键的应用 ...
- alpha-4
前言 失心疯病源4 团队代码管理github 站立会议 队名:PMS 530雨勤(组长) 今天完成了那些任务 19:00~21:50 利用背景相减法完成背景构建与更新模块,查找关于blob更多的论文资 ...
- ZOJ 1909 I-Square
https://vjudge.net/contest/67836#problem/I Given a set of sticks of various lengths, is it possible ...