==type-aliases-package作用==

在mybaits的mapper.xml文件中的resultType或者paramType会返回自定义entity,此时可以用全类名来指定这些实体。如:

1
2
3
4
5
<select id="getUserInfoList" resultType="com.leo.model.UserInfo">
SELECT
<include refid="BaseSql"/>
FROM USER_INFO WHERE 1=1
</select>

里面的resultType返回的就是全类名。

其实可以使用type-aliases-package中指定entity扫描包类让mybatis自定扫描到自定义的entity。

如:

1
2
mybatis:
type-aliases-package: com.cc.springbootmybatis.pojo

==mapper-locations作用==

当mapper接口和mapper接口对应的配置文件在

  • 命名上不同或
  • 所在的路径不同

之一不同,需要配置mapper-locations才能实现接口的绑定

1
mybatis.mapper-locations=classpath:mapper/*Mapper.xml

补充:实现接口绑定还可以在mapper接口上,直接用注解实现,如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public interface KgDeviceQueryMapper extends BaseMapper<KgDeviceQuery> {

//String querySql = "SELECT a.*, b.type_name AS typeName FROM kg_device AS a LEFT JOIN kg_device_type AS b ON b.uuid = a.device_type_uuid ";
String querySql = "SELECT a.device_name, a.device_specification, a.device_regist_license, a.register_user_name, a.device_main_price, a.delete_status, a.update_time," +
" b.type_name AS typeName FROM kg_device AS a LEFT JOIN kg_device_type AS b ON b.uuid = a.device_type_uuid ";
String wrapperSql = "SELECT * from ( " + querySql + " ) AS q ${ew.customSqlSegment}";
/**
* 分页查询
*/
@Select(wrapperSql)
Page<KgDeviceQuery> page(Page page, @Param("ew") Wrapper queryWrapper);

}

==MySQL中的``==

1
SELECT from FROM table

第一个from是字段名,最后的table也是字段名,但是同时作为Mysql关键词,这样执行的时候就会报错,所以应当使用:

1
SELECT `from` FROM `table`

==xml中动态sql语句注意事项==

xml里面 if 判断里面的条件判断字符串相等用双引号,外层套单引号。这是因为在比较的时候默认单引号括起来的是数字 ‘A’ 不能转化为数字 ,所以报错。

2023.6.7

==swagger-ui访问地址==

localhost:8080/项目名(如果配置了的话)/swagger-ui.html 访问报错

高版本的swagger-ui.html不存在了,可以这样访问:

localhost:8080/项目名(如果配置了的话)/swagger-ui/index.html