一、SpringBoot快速搭建,自动导入Mybatis+mysql架包
第一步:新建项目
①选择 Spring Initializr ,然后其他默认,点击【Next】
②Artifact的内容(可以随意编写)但是必须是小写,点击【Next】
③选择Web–>Spring Web(有的版本可能显示是Web)–>Spring Boot选择默认版本就行。
④选择SQL–>MyBatis Framework(可选配,勾选是自动配置MyBatis的架包)–>MySQL Driver(可选配,勾选是自动配置MySQL的架包),点击【Next】
⑤Project name(项目名,可大写),点击Finish
这里SpringBoot的项目就创建成功了,并自动导入mysql、mybatis架包
第二步:Maven仓库的配置
①File–>Settings–>Settings for New Projects…,然后设置成自己本地的Maven仓库
第三步:Hello Spring Boot
①创建controller类,编写Controller类中的内容
②配置application.properties
③启动Spring Boot点击三角符号
运行结果
其中mysql5.7版本可能会有些问题,改成5.1版本的就可以了
第四步:配置Webapp
①点击Project Structure–>Modules
先设置Deployment Descriptors,再设置下面的Web Resource Directories
第五步:配置jsp
①在webapp下面创建jsp–>index.jsp(PS:我看到很多文章说jsp页面一定要在WEB-INF下面,经过我测试,jsp页面不一定要在WEB-INF下面的)
在application.properties或者application.yml中设置
如果jsp页面在WEB-INF下,就可以设置prefix:/WEB-INF/jsp/
pom.xml必须导入的架包,导入后记得刷新一下
<!--设置jsp必须要导入的两种架包 start--> <dependency> <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <!--设置jsp必须要导入的两种架包 end-->
最后在Controller中设置一下
最后就出来jsp页面了
@Controller和RestBody也不要一起使用
集成MyBatis【无StudentMapper.xml注解版】
这里不需要配置Mapper下面的StudentMapper.xml文件,只需要在mapper层设置@Mapper和@Select(增删改查)
application.yml页面也不需要配置什么关于MyBatis的
集成MyBatis【有StudentMapper.xml注解版】
application.yml页面需要配置MyBatis去映射xml的位置
集成MyBatis【MybatisConfig类】
@EnableTransactionManagement 开启事务支持后
- 在访问数据库的Service方法上添加注解 @Transactional 便可
- 具体使用哪个事务管理器可以引入starter,或者自己指定。
MyBatisConfig
@Configuration @EnableTransactionManagement public class MybatisConfig { @Resource private DataSource dataSource; @Bean(name="sqlSessionFactory") public SqlSessionFactory sqlSessionFactoryBean(){ SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); //配置数据源 bean.setDataSource(dataSource); //配置实体类的位置 bean.setTypeAliasesPackage("com.example.demo.entity"); //配置mapper的位置 ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver(); try{ bean.setMapperLocations(resolver.getResources("classpath:mapper/**.xml")); return bean.getObject(); }catch (Exception e){ e.printStackTrace(); return null; } } @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory){ return new SqlSessionTemplate(sqlSessionFactory); } }
MyBatisMapperScannerConfig
@Configuration public class MyBatisMapperScannerConfig { @Bean public MapperScannerConfigurer mapperScannerConfigurer(){ MapperScannerConfigurer mapperScannerConfigurer = new MapperScannerConfigurer(); mapperScannerConfigurer.setSqlSessionFactoryBeanName("sqlSessionFactory"); //配置mapper接口的位置 mapperScannerConfigurer.setBasePackage("com.example.demo.mapper"); return mapperScannerConfigurer; } }
这里就无需配置@Mapper
这里就无需配置mybatis