环境:
idea+springboot+mybaits+maven+mysql
由于dao中的自动生成的mapper文件中对数据库的操作函数有限,所以需要自定sql语句。比如我需要查询莫某个表的全部记录。于是我需要修改对应的mapper和mapper.xml文件。但是在执行mvn clean之后,自定义内容全部丢失。所以不要轻易使用mvn clean语句,要搞清楚效果是什么,否则前功尽弃。
1、在ShopMenuMapper中增加方法,其中ShooMenu是与数据库中shopmenu对应的model。可以看到我自定义的selectAll不传递任何参数。
2、修改ShopMenuMapper.xml文件。位于项目中的target/mapper文件夹下面:
修改文件,添加<select > </select> 如图。其中id表示ShopMenuMapper中自定义的方法名。
以上就完成了自定义sql语句。
4、如果想把项目打包成jar文件,可以用我之前写过的方法https://blog.csdn.net/m0_38139979/article/details/105284789。
但是今天发现一个问题,如果执行mvn clean 会把target下面的东西会清理,然后mvn package会自动再生成。这样的将导致我们在ShopMenuMapper.xml自定义的内容丢失。所以如果没有出现重大依赖问题,可以直接使用mvn package即可,就会覆盖我们之前的jar文件。然后也不会丢失自定义内容。