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标签的话,要把所有要扫描的目录都配上,即加入如下配置:
这回再重启系统,访问,就没问题了。