1、MyBatis可以将查询语句通过注解的方式来写,但是这样要是SQL语句复杂的话,看起来会比较不方便,至少我是这么认为的,所以很多时候,我选择将SQL写到XML文件中,这样便于维护。
2、我这里为您演示,也是在XML文件中写SQL语句,如果您需要通过注解的方式,那么你只需要知道使用哪一个注解,让SQL写进去就好了。
3、对于查询语句,需要将SQL语句放到select标签内
4、select的id 属性是必不可缺的,它就是方法名。所以您需要将id添加上去。
5、查询是一定会有查询结果的,您要告诉Mybatis,您要返回的数据是怎么样的,因此resultType属性也是必须的,它的作用是告诉MyBatis,查挝后芪醢询到的结果以什么类型返回。我这里只是查询一个字段,因此我将其输出为Stirng即可,您需要写完整的包名到类名。
6、这里需要注意的是,那如果它查询出来的结果具有多个怎么办呢,您这里只需要使用String即可,到在方法上去处理。
7、方法上这样处理,返回类型声明为List<String>即可接受到整个结果集。
8、在Sql语句中,如果您需要从service层或是其他层带来数据放入到查询语句的时候,您可以将变量放#{} 内即可。
9、如果您需要带入多个值,那么您需要在带入的时候在注解@Param否则编译后将不知道您带入的值谁是谁了。
10、对于比较简单的SQL语句,您可能觉得没有必要测试吧,痘痉颔湄那是在您100%确定您的语法是没有任何的问题的时候是不需要测试,但是如果您不怎么确定,您还是需要进行一下测试,否则写到Controller了发现错了的时候,您就需要整个过程检查一遍,会比较麻烦。
11、接下来,您就可以写一个单元测试区测试您的MyBatis了,您可以看看您的语句是否正确,如果不正确的话,您只需要根据报错信息进行修改即可。
12、无论多么复杂的SQL语句,您都可以烂瘀佐栾这样写,只是在Mybatis中,您需要注意特殊符号的运用,否则会报错,比如“>”"<"等这样的比较运算符,都是不能直接使用的。