SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
2017-07-13 09:24
1066 查看
SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例
这是一个简单的SpringBoot整合实例这里是项目的结构目录
首先是pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>Ming</groupId> <artifactId>SpringBoot</artifactId> <version>0.0.1-SNAPSHOT</version> <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.4.RELEASE</version> </parent> <properties> <mybatis-spring-boot>1.2.0</mybatis-spring-boot> <mysql-connector>5.1.39</mysql-connector> <druid>1.0.18</druid> <java.version>1.8</java.version> </properties> <dependencies> <!-- Spring Boot Web 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Spring Boot Mybatis 依赖 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <!-- MySQL 连接驱动依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>${mysql-connector}</version> </dependency> <!-- Druid 数据连接池依赖 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>${druid}</version> </dependency> <!-- 分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper</artifactId> <version>4.1.6</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> </project>
接着在src/main/resources目录下新建一个application.yml文件
server: port: 8080 logging: level: learning: trace spring: #数据源配置 datasource: url: jdbc:mysql://localhost:3306/test username: root password: 123456 driver-class-name: com.mysql.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource connectionProperties: druid.stat.mergeSql=true #模板引擎 freemarker: #关闭缓存 cache: false request-context-attribute: request #模板加载的位置 template-loader-path: classpath:/templates #前缀 suffix: .htm #后缀 prefix: /htm/ mybatis: #实体类所做包 type-aliases-package: learning.model #mapper.xml所在位置 mapper-locations: classpath:mappers/*.xml
在conf包下新建一个MybatisConfig类以配置使用PageHelper分页
代码如下
@Configuration public class MybatisConfig { @Bean public PageHelper pageHelper(){ PageHelper pageHelper = new PageHelper(); //添加配置,也可以指定文件路径 Properties p = new Properties(); p.setProperty("offsetAsPageNum", "true"); p.setProperty("rowBoundsWithCount", "true"); p.setProperty("reasonable", "true"); pageHelper.setProperties(p); return pageHelper; } }
接着就可以编写实例类
public class Player { private Integer id; private String name; private Double points; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Double getPoints() { return points; } public void setPoints(Double points) { this.points = points; } }
dao接口
public interface PlayerDao { void save (Player player); Player findByKey(Integer id); List<Player> findAll(); }
service接口以及实现
public interface PlayerService { void add(Player player); List<Player> getAll(); } @Service public class PlayerServiceImpl implements PlayerService{ @Autowired private PlayerDao playerDao; @Override public void add(Player player) { playerDao.save(player); } @Override public List<Player> getAll() { PageHelper.startPage(1, 2); return playerDao.findAll(); } }
在src/main/resources 下新建一个包mapppers用来存放mybatis的xml文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace="learning.mapper.PlayerDao"> <insert id="save"> INSERT INTO player (name,points) VALUES (#{name},#{points}) </insert> <select id="findByKey" resultType="learning.model.Player"> SELECT * FROM player WHERE id = #{id} </select> <select id="findAll" resultType="learning.model.Player"> SELECT * FROM player </select> </mapper>
在src/main/resources在新建一个目录templates用来存放freemarker加载的模板
随意编写一个freemarker 的模板html界面
<!DOCTYPE HTML> <html> <head> </head> <body> <h3>success</h3> <#list list as player> ${player.name} : ${player.points} <br/> </#list> </body> </html>
然后编写控制层代码
@Controller @RequestMapping("/Test") public class TestController { @Autowired private PlayerService playerService; @RequestMapping("/getAll") @ResponseBody public Object getAll(){ Player player = new Player(); player.setName("杜兰特"); player.setPoints(28.4); player.setId(3); return player; } @RequestMapping("/all") @ResponseBody public Object get(){ return playerService.getAll(); } @RequestMapping("/add") public String add(Player player){ playerService.add(player); return "test/hello"; } @RequestMapping("/hello") public String hello(Model model) { List<Player> list = playerService.getAll(); model.addAttribute("list",list); return "test/hello"; }
最后编写项目的启动代码主要启动类的路径要在其他要扫描包的同级目录 如图AppStart
启动类代码
@SpringBootApplication //这里是扫描dao接口的包用于识别mybatis @MapperScan(basePackages="learning.mapper") public class AppStart { /** * @param args */ public static void main(String[] args) { SpringApplication.run(AppStart.class, args); } }
最后启动AppStart main 方法即可
日志信息
这里是我的项目代码
http://download.csdn.net/download/cmmchenmm/9897156
我将代码上传到了GitHub上了
https://github.com/newShiJ/SpringBoot-Learing
相关文章推荐
- Spring Boot : 集成mybatis、pagehelper插件、开启事务、druid数据源配置、mybatis-generator(十一)
- Spring Boot+Mybatis+Druid+PageHelper实现多数据源并分页的方法
- Springboot+Mybatis+Pagehelper+Aop动态配置Oracle、Mysql数据源
- 记录问题:springboot中使用Mybatis-pagehelper分页插件遇到的版本兼容问题
- SpringBoot+Mybatis+ Druid+PageHelper 实现多数据源并分页
- SpringBoot中使用MyBatis,使用PageHelper进行分页查询以及碰到的错误
- springboot使用之二:整合mybatis(xml方式)并添加PageHelper插件
- maven+spring boot+druid+mysql+mybatis+pagehelper+jsp环境搭建
- 记录SpringBoot使用Druid和Mybatis配置
- SpringBoot入门-15(springboot配置freemarker使用YML)
- Spring Boot系列教程十一: Mybatis使用分页插件PageHelper
- MyEclipse Maven Spring Boot mybatis freemarker 配置实例DEMO
- Spring Boot下Druid连接池的使用配置分析
- Spring Boot 使用 Druid 和监控配置
- SpringMVC+Spring+Mybatis整合,使用druid连接池,声明式事务,maven配置
- spring-boot 集成mybatis配置使用
- SpringBoot学习笔记(7) SpringBoot整合Dubbo(使用yml配置)
- Spring Boot中使用MyBatis注解配置详解
- Spring + Mybatis 使用 PageHelper 插件分页
- 使用SpringBoot yml配置文件(三)