使用SpringBoot整合MyBatis+freemarker实现一个web项目的简单流程以及配置:
1. 在pom.xml中导入相关依赖:
<dependencies>
<!-- springboot中的web依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- springboot中的test测试依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- springboot中的mybatis依赖 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- springboot中的数据库mysql依赖 -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<!-- springboot中的通用mapper依赖 -->
<dependency>
<groupId>tk.mybatis</groupId>
<artifactId>mapper-spring-boot-starter</artifactId>
<version>2.1.5</version>
</dependency>
<!-- springboot中的freemarker依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
</dependencies>
2. 在springboot中配置全局文件application.properties中的相关信息:
数据编码格式,数据库连接等等信息,这里只贴了需要用到的
#设置spring-boot 编码格式
banner.charset=UTF-8
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
spring.messages.encoding=UTF-8
#数据库连接配置:
spring.datasource.url=jdbc:mysql://localhost:3306/mydb?characterEncoding=utf-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=admin
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#打印日志所需配置
logging.level.com.example.demo.dao=debug
#freemarker文件默认后缀名改成html
spring.freemarker.suffix=.html
3. 创建实体类:
public class User {
private Integer id;
private String name;
getset方法
}
4. Mapper层文件(启动类中有了扫描,这里可以不用注解):
//@MapperScan
public interface UserMapper extends Mapper<User>{
/*@select("select * from user")
public List<User> selectAll();*/
}
5. controller层:
这里用的普通controller,springboot中controller中默认都是异步请求,可以使用@RestController注解,使用@Value("${name}")来获取值
@Controller
public class UserController {
@Autowired
UserMapper usermapper;
@RequestMapping("show")
public String show(Map<String, Object> map){
map.put("userlist",usermapper.selectAll());
return "index";
}
}
6. 启动类中加上扫描mapper层的注解:
@MapperScan(basePackages="com.demo.mapper")
@SpringBootApplication
public class SpringBoot011Application {
public static void main(String[] args) {
SpringApplication.run(SpringBoot011Application.class, args);
}
}
7. 在html页面显示查询结果:
<body>
<#list userlist as ul>
${ul.id}--${ul.name}
</#list>
</body>