Spring Boot实践应用开发(6) - Go语言中文社区

Spring Boot实践应用开发(6)


【使用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


版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/engchina/article/details/49028155
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2019-08-27 17:07:01
  • 阅读 ( 946 )
  • 分类:Go应用

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢