Spring Boot实践应用开发(6)
2015-10-10 19:27
706 查看
【使用thymeleaf生成html页面】
1,新建mybatissql文自动生成配置文件,generateConfig_sample.xml
2,自动生成dataset,mapper等相关文件。
把UsersMapper.xml移动到resources文件夹下
3,在ApplicationConfig.java里,定义Mapper的bean
4,新规UsersService接口,内容和UsersMapper一样。
5,新规UsersService的实现类,UsersServiceImpl.java
6,新规UsersFacade接口
7,新规UsersFacade接口的实现类,UsersFacadeImpl.java
8,新规UsersController.java
9,新规users.html
10.启动项目,输入URL,http://localhost:8888/sample/users/show
代码下载地址
http://pan.baidu.com/s/1o6spOJS,fourth.zip
1,新建mybatissql文自动生成配置文件,generateConfig_sample.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd" > <generatorConfiguration> <classPathEntry location="E:/pleiades/workspace/sample/src/main/resources/lib/ojdbc6.jar" /> <context id="context1"> <jdbcConnection driverClass="oracle.jdbc.OracleDriver" connectionURL="jdbc:oracle:thin:@127.0.0.1:1521:orcl" userId="sample" password="sample" /> <javaModelGenerator targetPackage="org.com.sample.dataset" targetProject="sample" /> <sqlMapGenerator targetPackage="org.com.sample.mapper" targetProject="sample" /> <javaClientGenerator targetPackage="org.com.sample.mapper" targetProject="sample" type="XMLMAPPER" /> <table tableName="Users" /> </context> </generatorConfiguration>
2,自动生成dataset,mapper等相关文件。
sample |_src/main/java |_org.com.sample |_dataset |_Users.java |_UserExample.java |_mapper |_UsersMapper.java |_UsersMapper.xml
把UsersMapper.xml移动到resources文件夹下
|_src/main/resources |_org.com.sample |_mapper |_UsersMapper.java
3,在ApplicationConfig.java里,定义Mapper的bean
<pre name="code" class="java">Resource[] resources = new Resource[] { getMapperXMLPathResource(UsersMapper.class) };
@Bean public UsersMapper getUsersMapper() { SqlSessionTemplate sessionTemplate = new SqlSessionTemplate(getSqlSessionFactory()); return sessionTemplate.getMapper(UsersMapper.class); }
4,新规UsersService接口,内容和UsersMapper一样。
package org.com.sample.service; import java.util.List; import org.apache.ibatis.annotations.Param; import org.com.sample.dataset.Users; import org.com.sample.dataset.UsersExample; public interface UsersService { /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int countByExample(UsersExample example); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int deleteByExample(UsersExample example); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int deleteByPrimaryKey(String username); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int insert(Users record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int insertSelective(Users record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ List<Users> selectByExample(UsersExample example); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ Users selectByPrimaryKey(String username); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int updateByExampleSelective(@Param("record") Users record, @Param("example") UsersExample example); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int updateByExample(@Param("record") Users record, @Param("example") UsersExample example); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int updateByPrimaryKeySelective(Users record); /** * This method was generated by MyBatis Generator. * This method corresponds to the database table USERS * * @mbggenerated Sat Oct 10 16:15:21 JST 2015 */ int updateByPrimaryKey(Users record); }
5,新规UsersService的实现类,UsersServiceImpl.java
package org.com.sample.service.impl; import java.util.List; import org.com.sample.dataset.Users; import org.com.sample.dataset.UsersExample; import org.com.sample.mapper.UsersMapper; import org.com.sample.service.UsersService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UsersServiceImpl implements UsersService { @Autowired UsersMapper usersMapper; @Override public int countByExample(UsersExample example) { // TODO Auto-generated method stub return 0; } @Override public int deleteByExample(UsersExample example) { // TODO Auto-generated method stub return 0; } @Override public int deleteByPrimaryKey(String username) { // TODO Auto-generated method stub return 0; } @Override public int insert(Users record) { // TODO Auto-generated method stub return 0; } @Override public int insertSelective(Users record) { // TODO Auto-generated method stub return 0; } @Override public List<Users> selectByExample(UsersExample example) { return usersMapper.selectByExample(example); } @Override public Users selectByPrimaryKey(String username) { // TODO Auto-generated method stub return null; } @Override public int updateByExampleSelective(Users record, UsersExample example) { // TODO Auto-generated method stub return 0; } @Override public int updateByExample(Users record, UsersExample example) { // TODO Auto-generated method stub return 0; } @Override public int updateByPrimaryKeySelective(Users record) { // TODO Auto-generated method stub return 0; } @Override public int updateByPrimaryKey(Users record) { // TODO Auto-generated method stub return 0; } }
6,新规UsersFacade接口
package org.com.sample.facade; import java.util.List; import org.com.sample.dataset.Users; import org.com.sample.dataset.UsersExample; public interface UsersFacade { List<Users> selectByExample(UsersExample example); }
7,新规UsersFacade接口的实现类,UsersFacadeImpl.java
package org.com.sample.facade.impl; import java.util.List; import org.com.sample.dataset.Users; import org.com.sample.dataset.UsersExample; import org.com.sample.facade.UsersFacade; import org.com.sample.service.UsersService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @Service @Transactional public class UsersFacadeImpl implements UsersFacade { @Autowired UsersService usersService; @Override public List<Users> selectByExample(UsersExample example) { return usersService.selectByExample(example); } }
8,新规UsersController.java
package org.com.sample.controller; import java.util.List; import org.com.sample.dataset.Users; import org.com.sample.dataset.UsersExample; import org.com.sample.facade.UsersFacade; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller @RequestMapping("/sample/users") public class UsersController { private static final Logger logger = LoggerFactory.getLogger(UsersController.class); @Autowired UsersFacade userFacade; @RequestMapping(value = "/show", method = RequestMethod.GET) public String selectAllUser(Model model) { List<Users> userList = userFacade.selectByExample(new UsersExample()); model.addAttribute("page", userList); return "sample/users/users"; } }
9,新规users.html
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8" /> <title>Users</title> <meta content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport' /> <meta th:replace="head-cssjs" /> </head> <body class="skin-blue"> <div class="wrapper"> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <h1>Users</h1> </section> <!-- Main content --> <section class="content"> <div class="row"> <div class="col-md-12"> <form id="menuForm" method="post" class="form-horizontal"> <div id="maincontent" class="box box-primary" style="overflow-y: auto; overflow-x: hidden;"> <div class="box-body"> <div class="form-group"> <div class="col-md-12"> <div class="box box-success" th:attrappend="style=${page == null ? 'display: none;' : ''}"> <div class="col-md-12" style="width: 99%;"> <table id="searchResult" class="table table-condensed table-striped table-hover"> <thead> <tr> <th class="col-md-1">No.</th> <th class="col-md-1">username</th> <th class="col-md-1">password</th> <th class="col-md-1">role</th> </tr> </thead> <tbody> <tr th:each="content, iterStat : ${page}"> <td class="col-md-1" th:id="${iterStat.index}" th:name="${iterStat.index}" th:value="${iterStat.index}" th:text="${iterStat.index} + 1"></td> <td class="col-md-1" th:id="'page['+${iterStat.index}+'].username'" th:name="'page['+${iterStat.index}+'].username'" th:value="${content.username}" th:text="${content.username}"></td> <td class="col-md-1" th:id="'page['+${iterStat.index}+'].password'" th:name="'page['+${iterStat.index}+'].password'" th:value="${content.password}" th:text="${content.password}"></td> <td class="col-md-1" th:id="'page['+${iterStat.index}+'].role'" th:name="'page['+${iterStat.index}+'].role'" th:value="${content.role}" th:text="${content.role}"></td> </tr> </tbody> </table> </div> </div> </div> </div> </div> </div> </form> </div> </div> </section> <!-- /.content --> </div> <!-- /.content-wrapper --> </div> <!-- ./wrapper --> <div th:replace="bottom-js"></div> </body> </html>
10.启动项目,输入URL,http://localhost:8888/sample/users/show
代码下载地址
http://pan.baidu.com/s/1o6spOJS,fourth.zip
相关文章推荐
- java动态代理(JDK和cglib)
- spring二级缓存的ehcache 的 配置文件
- Java设计模式——开篇
- java反射机制详解 及 Method.invoke解释
- Codeforces - 546C. Soldier and Cards- Java题解
- Java没有源代码的同步集合~
- Netbeans中的一些小知识
- spring transaction 注解方法报错Can not set field to proxy
- discuz社区与java web的钉钉手机版整合(二)
- Java Json Html ajax数据传递
- 【解决】kettle启动时出现的Java Runtime Environment异常
- MyEclipse创建HelloWeb
- Java关键字final、static使用总结
- eclipse反编译插件
- java7 NIO2 watching service API
- Swagger与SpringMVC的整合
- Spring学习笔记(十):@Autowired和new的区别
- Java单例设计模式
- Java中对已有的Set进行排序问题
- spring 初始化之后执行的方法