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

SpringBoot 使用yml配置 mybatis+pagehelper+druid+freemarker实例的更多相关文章

  1. 【springboot spring mybatis】看我怎么将springboot与spring整合mybatis与druid数据源

    目录 概述 1.mybatis 2.druid 壹:spring整合 2.jdbc.properties 3.mybatis-config.xml 二:java代码 1.mapper 2.servic ...

  2. spring + Mybatis + pageHelper + druid 整合源码分享

    springMvc + spring + Mybatis + pageHelper + druid 整合 spring 和druid整合,spring 整合druid spring 和Mybatis  ...

  3. SpringBoot的yml配置

    Spring Boot的yml配置 #开发配置 spring: data: solr: host: http://localhost:6789/solr/mote mvc: view: # 页面默认前 ...

  4. springboot 读取 yml 配置的几种方式

    前言:在springboot 项目中一般默认的配置文件是application.properties,但是实际项目中我们一般会使用application.yml 文件,下面就介绍一下在springbo ...

  5. springboot application.yml配置学习

    一.背景 为了更好的使用springboot,所以看一下application.yml配置这块.主要是看数据绑定这块. 主要参考:https://www.hangge.com/blog/cache/d ...

  6. SpringBoot五步配置Mybatis

    第一步:Maven里面添加mybatis的引用jar包: <!--mybatis--> <dependency> <groupId>org.mybatis.spri ...

  7. springboot 中yml配置

    springboot 中各种配置项纪录 1. @Value 最早获取配置文件中的配置的时候,使用的就是这个注解,SpEL表达式语言. // 使用起来很简单 @Value("${config. ...

  8. spring-boot + mybatis +pagehelper 使用分页

    转自:https://segmentfault.com/a/1190000015668715?utm_medium=referral&utm_source=tuicool 最近自己搭建一个sp ...

  9. 后端分页神器,mybatis pagehelper 在SSM与springboot项目中的使用

    mybatis pagehelper想必大家都耳熟能详了,是java后端用于做分页查询时一款非常好用的分页插件,同时也被人们称为mybatis三剑客之一,下面 就给大家讲讲如何在SSM项目和sprin ...

随机推荐

  1. Nginx+tomcat+ssl免费证书配置

    0.说明 本文说描写叙述的方式是用nginx的443重定向到tomcat的8443,nginx的80port重定到tomcat的8080: 乱入:个人标记:caicongyang 1.nginx安装 ...

  2. Python 查找Twitter中特定话题中最流行的10个转发Tweet

    CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-7-4 @author: guaguastd @name: fi ...

  3. js --- for in 和 for of

    前言:for of是ES6新增的循环方法.前面已经说到了 [JavaScript]for.forEach .for in.each循环详解.那for of又是怎么使用的? 一.使用例子 使用例子(一) ...

  4. 1>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏

    解决方法如下:项目\属性\配置属性\清单工具\输入和输出\嵌入清单:原来是“是”,改成“否”. 终极解决方案:VS2010在经历一些更新后,建立Win32 Console Project时会出“err ...

  5. 阅读笔记—JSP

    JSP页面概述 JSP(JavaServer Page)是一种动态页面技术,它在java web应用中主要实现表现逻辑.JSP页面是在HTML页面中嵌入JSP元素的动态Web页面,一般来说JSP页面中 ...

  6. 洛谷 P1553 数字反转(升级版)

    P1553 数字反转(升级版) 题目描述 给定一个数,请将该数各个位上数字反转得到一个新数. 这次与NOIp2011普及组第一题不同的是:这个数可以是小数,分数,百分数,整数.整数反转是将所有数位对调 ...

  7. Android获取当前连接的wifi名称

    首先AndroidMainfest.xml文件里加入权限: <uses-permission android:name="android.permission.ACCESS_NETWO ...

  8. Linux网络编程--字节序

    1 .谈到字节序,那么会有朋友问什么是字节序 非常easy:[比如一个16位的整数.由2个字节组成,8位为一字节,有的系统会将高字节放在内存低的地址上,有的则将低字节放在内存高的地址上,所以存在字节序 ...

  9. Excel VBA简单使用——数据缺失处理

    VBA(Visual Basic for Applications)是VB的一种宏语言.用来扩展应用程式的功能.特别是Microsoft Office软件. 转载请注明原文地址:http://blog ...

  10. Oracle APEX 4.2公布RESTful Webservice

    Purpose This tutorial covers creating a RESTful Web Service and accessing the Web Service through an ...