您的位置:首页 > 编程语言 > Java开发

Spring Boot实践应用开发(6)

2015-10-10 19:27 706 查看
【使用thymeleaf生成html页面】

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: