1.springboot项目构建:File -> new -> Project
2.引入项目所有jar包,未在阿里云仓库中的私有包需要单独引入:如下
<dependency>
<groupId>com</groupId>
<artifactId>test</artifactId>
<version>1.3</version>
<systemPath>${basedir}/src/main/resources/lib/test-1.3.jar</systemPath>
<scope>system</scope>
</dependency>
3.配置application文件(可网上自寻搜索相关配置),数据库配置如下(我是多数据源所以加了db1,trustServerCertificate这个是sqlserver的配置,其他数据库可不用)
4.将原项目的src目录直接迁移到新项目的src下
5.生成mapper.xml及po文件,到文件可以直接用原来的,需要去掉minidao和hibernate相关注解和方法
我用的是generator xml的方式生成的文件,这个网上搜下很容易找到
6.修改minidao的sql为mybatis的(比较麻烦的方式)
这里写一下相关语法问题:
1.mybatis里面没有if else,需要使用choose when otherwise
2.mybatis返回List<Map<String, Object>>此种形式时 sql返回类型使用resultType="map"即可
3.mybatis的for循环使用foreach标签:
注意如果有多个list时collection使用@Param注解中的值,一个的时候用collection="list"即可
<foreach item="item" index="index" collection="stautsList" open="(" separator="," close=")">
#{item}
</foreach>
还有一点由于我做的项目minidao用了map返回的key全部转了小写,所以此处也要转,minidao比较简单:
在使用mybatis时我没找到直接相关配置。网上找了一下还是找了简单的配置实现:
参考springboot中处理mybatis返回Map时key值的大小写 - 百度文库即可
7.web.xml中的配置转移(filter,listener,servlet)
@Configuration
public class FilterConfig {
@Bean
public FilterRegistrationBean registrationBean1(){
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new tFilter());
bean.addUrlPatterns("/test/*");
return bean;
}
或者直接在原文件加上注解
Listener直接加上@Component注解