zoukankan      html  css  js  c++  java
  • spring boot 1.4.2.RELEASE+Thymeleaf+mybatis 集成通用maper,与分页插件:

    <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.2.RELEASE</version>
            <relativePath /> <!-- lookup parent from repository -->
        </parent>
    
        <properties>
            <java.version>1.8</java.version>
            <!-- 依赖版本 -->
            <mybatis.version>3.4.0</mybatis.version>
            <mybatis.spring.version>1.3.0</mybatis.spring.version>
            <mapper.version>3.3.9</mapper.version>
            <pagehelper.version>4.1.6</pagehelper.version>
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-aop</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
            </dependency>
    
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-core</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.core</groupId>
                <artifactId>jackson-databind</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.datatype</groupId>
                <artifactId>jackson-datatype-joda</artifactId>
            </dependency>
            <dependency>
                <groupId>com.fasterxml.jackson.module</groupId>
                <artifactId>jackson-module-parameter-names</artifactId>
            </dependency>
    
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.0.11</version>
            </dependency>
    
            <!--Mybatis -->
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis</artifactId>
                <version>${mybatis.version}</version>
            </dependency>
            <dependency>
                <groupId>org.mybatis</groupId>
                <artifactId>mybatis-spring</artifactId>
                <version>${mybatis.spring.version}</version>
            </dependency>
            <!-- Mybatis Generator -->
            <dependency>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-core</artifactId>
                <version>1.3.2</version>
                <scope>compile</scope>
                <optional>true</optional>
            </dependency>
            <!--分页插件 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>${pagehelper.version}</version>
            </dependency>
            <!--通用Mapper -->
            <dependency>
                <groupId>tk.mybatis</groupId>
                <artifactId>mapper</artifactId>
                <version>${mapper.version}</version>
            </dependency>
    
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <dependencies>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>springloaded</artifactId>
                            <version>1.2.5.RELEASE</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>

    UserPojo

    @Table(name="user")
    public class User {
    
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
    
    
        private String username;
    
        private Date birthday;
    
        private String email;
    
        public Long getId() {
            return id;
        }
    
        public void setId(Long id) {
            this.id = id;
        }
    
        public String getUsername() {
            return username;
        }
    
        public void setUsername(String username) {
            this.username = username;
        }
    
        public Date getBirthday() {
            return birthday;
        }
    
        public void setBirthday(Date birthday) {
            this.birthday = birthday;
        }
    
        public String getEmail() {
            return email;
        }
    
        public void setEmail(String email) {
            this.email = email;
        }
    
    
    
    
    }
    

    UserService

    
    @Service
    @Transactional
    public class UserService {
        @Autowired
        private UserMapper userMapper;
    
        @Transactional(readOnly = true)
        public PageInfo<User> findAll(String username, Date birthday, Integer page, Integer pageSize) {
            PageHelper.startPage(page, pageSize);
    
            Example example = new Example(User.class);
            if (!StringUtils.isEmpty(username)) {
                example.createCriteria().andEqualTo("username", username);
            }
            if (birthday != null) {
                example.createCriteria().andEqualTo("birthday", birthday);
            }
            List<User> users = userMapper.selectByExample(example);
            return new PageInfo<>(users);
    
        }
    
    }
    

    UserController

    @Controller
    public class UserController {
    
        @Autowired
        private UserService userService;
    
        @RequestMapping("/user")
        public String index(Model model, @RequestParam(required = false) String username,@RequestParam(required = false) Date birthday, @RequestParam(defaultValue = "1") Integer pageNum, @RequestParam(defaultValue = "3") Integer pageSize) {
            PageInfo<User> pageInfo = userService.findAll(username, birthday, pageNum, pageSize);
            //获得当前页
            model.addAttribute("pageNum", pageInfo.getPageNum());
            //获得一页显示的条数
            model.addAttribute("pageSize", pageInfo.getPageSize());
            //是否是第一页
            model.addAttribute("isFirstPage", pageInfo.isIsFirstPage());
            //获得总页数
            model.addAttribute("totalPages", pageInfo.getPages());
            //是否是最后一页
            model.addAttribute("isLastPage", pageInfo.isIsLastPage());
            model.addAttribute("users", pageInfo.getList());
    
            return "index";
        }
    }

    前台模板页

    <table class="table table-hover" style="border-collapse: 0"
                width="50%">
                <thead>
                    <tr>
                        <th>id</th>
                        <th>username</th>
                        <th>birthday</th>
                        <th>email</th>
                    </tr>
                </thead>
                <tr th:each="user : ${users}">
                    <th th:text="${user.id}"></th>
                    <th th:text="${user.username}"></th>
                    <th th:text="${#dates.format(user.birthday, 'yyyy-MM-dd')}"></th>
                    <th th:text="${user.email}"></th>
                </tr>
            </table>
            <nav>
                <ul class="pagination">
                    <li><a href="">&laquo;</a></li>
    
                    <li>
                        <a th:if="${not isFirstPage}" th:href="@{${'/user'}(pageNum=${pageNum-1},pageSize=${pageSize})}">Previous</a>
                        <a th:if="${isFirstPagee}" href="javascript:void(0);">Previous</a>
                    </li>
    
                    <li th:each="pageNo : ${#numbers.sequence(1, totalPages)}">
                        <a th:if="${pageNum eq pageNo}" href="javascript:void(0);">
                             <span th:text="${pageNo}"></span>
                        </a>
    
                        <a th:if="${not (pageNum eq pageNo)}" th:href="@{${'/user'}(pageNum=${pageNo},size=${pageSize})}">
                            <span th:text="${pageNo}"></span>
                        </a>
                    </li>
                    <li>
                            <a th:if="${not isLastPage}" th:href="@{${'/user'}(pageNum=${pageNum+1},size=${pageSize})}">Next</a>
                            <a th:if="${isLastPage}" href="javascript:void(0);">Next</a>
                        </li>
    
                    <li><a href="#">&raquo;</a></li>
                </ul>
            </nav>


    转自:http://blog.csdn.net/gdhuyufei/article/details/53712805
  • 相关阅读:
    如何改变拖动时鼠标悬浮样式
    Nginx的server为0.0.0.0/0.0.0.1的作用?
    redis的lua脚本拓展,返回nil及其判断
    lua异常捕获
    nginx配置及常见问题
    centos安装postgresql-10及操作
    23种设计模式
    php的function() use($args)用法
    lua中self.__index = self是什么意思?
    lor实践
  • 原文地址:https://www.cnblogs.com/flywang/p/6760594.html
Copyright © 2011-2022 走看看