使用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>