Spring Boot Mybatis Thymeleaf项目构建
<?xml version="1.0" encoding="UTF-8"?>
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
<groupId>com.skcc</groupId>
<artifactId>service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>oaadmin</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- 开发Spring及web项目依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- thymeleaf视图模板依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<!-- jdbc依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<!-- mssql driver -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<scope>runtime</scope>
</dependency>
<!-- 热部署依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional> <!-- 这个需要为 true 热部署才有效 -->
</dependency>
</dependencies>
<build>
<plugins>
<!-- 热部署插件 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
application.properties文件配置
spring.profiles.active=dev
spring.thymeleaf.cache=false
spring.thymeleaf.mode=HTML5
spring.thymeleaf.encoding=UTF-8
spring.thymeleaf.servlet.content-type=text/html; charset=utf-8
spring.datasource.url=jdbc:sqlserver://172.206.205.116:1433;DatabaseName=EGSS_TEST
spring.datasource.username=EGSS_DEV
spring.datasource.password=
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
# com.microsoft.sqlserver.jdbc.SQLServerDriver com.mysql.jdbc.Driver
mybatis.config-location=classpath:mybatis/mapper/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/Mapper.xml
mybatis.type-aliases-package=com.skcc.entity
在src/main/resources创建目录mybatis/mapper文件夹,再创建BookMapper.xml/mybatis-config.xml
BookMapper.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="com.skcc.mapper.BookMapper">
<select id="selectAllBook" resultType="com.skcc.entity.BookEntity">
select from AA_Book
</select>
<select id="selectBookById" parameterType="java.util.Map" resultType="java.util.Map" >
select from AA_Book where BookId=#{BookId}
</select>
<insert id="insertBook" keyProperty="BookId" useGeneratedKeys="true" parameterType="java.util.Map">
INSERT INTO AA_Book(BookName,Author,WordCount,BookSummary,[Desc],CreateDate)
VALUES
(
#{BookName} , #{Author} , #{WordCount} , #{BookSummary} , #{Desc} ,GETDATE() )</insert></mapper>
mybatis-config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer" /> <typeAlias alias="Long" type="java.lang.Long" /> <typeAlias alias="HashMap" type="java.util.HashMap" /> <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" /> <typeAlias alias="ArrayList" type="java.util.ArrayList" /> <typeAlias alias="LinkedList" type="java.util.LinkedList" /></typeAliases><!-- <mappers> <mapper resource="classpath:sample/mybatis/mapper/CityMapper.xml"/></mappers>-->
</configuration>
OaadminApplication启动类入口文件@SpringBootApplication
br/>@SpringBootApplication
public class OaadminApplication {
public static void main(String[] args) { SpringApplication.run(OaadminApplication.class, args);}
}
com.skcc.mapper包BookMapper.java文件
public interface BookMapper {
// com.ibatis.sqlmap.client.SqlMapClient;public List<BookEntity> selectAllBook();public Map<String, Object> selectBookById(Map<String, Object> map);public int insertBook(Map<String, Object> map);
}com.skcc.controller包下UserController.java文件
@Controller
br/>com.skcc.controller包下UserController.java文件
@Controller
public class UserController {
@AutowiredBookMapper bookDao;@RequestMapping("/hello")public String hello(Model m) { m.addAttribute("name", "thymeleaf start."); List<EmpInfo> empList = new ArrayList<>(); empList.add(new EmpInfo("1001", "ZhouJun", 30)); empList.add(new EmpInfo("1002", "LiMei", 32)); empList.add(new EmpInfo("1003","ChenHua",22)); m.addAttribute("emps", empList); m.addAttribute("nowdate",new Date()); List<BookEntity> bookList= bookDao.selectAllBook(); m.addAttribute("BooKList", bookList.toString()); return "hello";}
}**src/main/resources/templates文件**,其中src/main/resources/static中可以放js,css文件@{/css/hello.css}
br/>**src/main/resources/templates文件**,其中src/main/resources/static中可以放js,css文件@{/css/hello.css}
<head>
<title>Spring Boot thymeleaf</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" style="text/css" href="/css/hello.css" th:href="@{/css/hello.css}" />
<script type="text/javascript" src="/js/hello.js" th:src="@{/js/hello.js}"></script>
</head>
<body>
<p th:text="${name}">name</p>
<p th:if="n">条件为真就显示了</p>
<div>
<input type="button" value="Test Buton" class="ibutton"
onclick="testPopUp();" />
</div>
<div class="showing">
<div th:replace="include::footer1"></div>
<div th:replace="include::footer2(1999,2019)"></div>
</div>
<div>
<h3>遍历</h3>
<table>
<thead>
<tr>
<th>id</th>
<th>Name</th>
<th>age</th>
</tr>
</thead>
<tbody>
<tr th:each="p: ${emps}">
<td th:text="${p.empID}"></td>
<td th:text="${p.empName}"></td>
<td th:text="${p.age}"></td>
</tr>
</tbody>
</table>
</div>
<div>
<h3>时间格式化</h3>
<p th:text="${#dates.format(nowdate,'yyyy-MM-dd HH:mm:ss SSS')}"></p>
</div>
<div>
<h3>BooKList</h3>
<p th:text="${BooKList}">BooKList</p>
</div>
</body>**单元测试示例**
@RunWith(SpringRunner.class)
br/>**单元测试示例**
@RunWith(SpringRunner.class)
public class HelloTest {
@AutowiredBookMapper bookDao;@Testpublic void sayHello() { new HelloService().sayHello();}@Testpublic void selectAllBookTest() { List<BookEntity> bookList= bookDao.selectAllBook(); System.out.println(bookList);}@Testpublic void selectBookById() { Map<String, Object> paramMap = new HashMap<>(); paramMap.put("BookId", 1); Map<String, Object> bookMap = bookDao.selectBookById(paramMap); System.out.println("----------selectBookById--bookMap-------------------"); System.out.println(bookMap);}@Testpublic void insertBook() { Map<String, Object> paramMap = new HashMap<>(); paramMap.put("BookName", "PHP高级编程"); paramMap.put("Author", "zhangjun"); paramMap.put("WordCount", 66999); paramMap.put("BookSummary", "网络原理"); paramMap.put("Desc", "2008年出版"); int result = bookDao.insertBook(paramMap); System.out.println("insertBook : " + result+" Key : " + paramMap.get("BookId"));}
}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。