有時候做方案,需要模擬一些業務上的一些場景來驗證方案的可行性,基本上每次都是到處百度如何集成springboot+mybatis+thymeleaf這些東西的集成平時基本上一年也用不了一次,雖然比較簡單,奈何我真得記不住詳細的每一步,因此每次都是從零開始,我一直在想,把時間浪費在這種重復的事情是沒有意義的,所以這篇文章記錄一下,以后再也不到處百度來接拼湊了。
springboot中集在mybatis和thymeleaf,簡單實現一下新增和查詢功能,后續有需要再往上補。
圖片
jdk版本:1.8
開發工具:Intellij iDEA 2020.1
springboot:2.3.9.RELEASE
主要引入了springboot、thymeleaf、mybais、mysql、jdbc以及熱部署和lombda相關的依賴;
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency><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><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.1.26</version></dependency><dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional></dependency><dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.1.4</version></dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId></dependency>
配置文件這里新增了三處配置,分別是thymeleaf、數據庫連接、mybatis;
#thymeleaf配置spring.thymeleaf.cache=falsespring.thymeleaf.suffix=.htmlspring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.servlet.content-type=text/htmlspring.thymeleaf.encoding=utf-8#數據庫連接配置spring.datasource.driverClassName=com.mysql.cj.jdbc.Driverspring.datasource.url=jdbc:mysql://localhost:3307/happy_home?serverTimeznotallow=Asia/Shanghai spring.datasource.username=rootspring.datasource.password=root#mybatis配置mybatis.mapper-locatinotallow=classpath:/mapper/*.xmlmybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
圖片
前端代碼
1、resources/static目錄下,新增靜態文件index.html;
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body><div id="testContent"> <form id="registeForm" name="registe" method="post" action="/person//registe" enctype="multipart/form-data" target="_self"> 登陸名:<input name="loginNo" type="text"/><br/> 姓名:<input name="userName" type="text"/><br/> 性別:<input name="sex" type="radio" value="男"/>男<input name="sex" type="radio" value="女"/>女<br/> 手機號碼:<input name="phoneNumber" type="text"/><br/> 身份證號:<input name="IDCard" type="text"/><br/> 地址:<input name="address" type="text"/><br/> 門牌號:<input name="houseNumber" type="text"/><br/> <input type="submit" value="提交" id="submitForm"> </form></div></body></html>
2、resources/templates目錄上,新增home.html文件;
<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head> <meta charset="UTF-8"/> <title>主頁</title> <script type="text/javascript" src="https://code.jquery.com/jquery-3.1.1.min.js"></script></head><body><div> ID:<span id="personId" data-th-text="${id}" ></span></div><div id="personInfo"> <p>登陸名:<span></span></p> <p>姓名:<span></span></p> <p>性別:<span></span></p> <p>手機號碼:<span></span></p> <p>身份證號:<span></span></p> <p>地址:<span></span></p> <p>門牌號:<span></span></p></div></body><script type="text/javascript"> var id=$('#personId').text(); $.ajax({ url: 'http://localhost:8080/person/'+id, method: 'get', success: function (res) { console.log(res) $('#personInfo p')[0].append(res.loginNo); $('#personInfo p')[1].append(res.userName); $('#personInfo p')[2].append(res.sex); $('#personInfo p')[3].append(res.phoneNumber); $('#personInfo p')[4].append(res.idcard); $('#personInfo p')[5].append(res.address); $('#personInfo p')[6].append(res.houseNumber); } })</script></html>
@Controller@RequestMapping("/person")public class PersonController { @Autowired private IPersonService personService; @PostMapping("/registe") public String registe(Person person, Model model) { Integer id = this.personService.registe(person); model.addAttribute("id", id); return "home"; } @GetMapping("/{id}") @ResponseBody public Person getPerson(@PathVariable("id") Integer id) { Person person = this.personService.get(id); return person; }}
public interface IPersonService { Integer registe(Person person); Person get(Integer id);}
@Servicepublic class PersonServiceImpl implements IPersonService { @Autowired private PersonDao personDao; @Override public Integer registe(Person person) { this.personDao.insert(person); return person.getId(); } @Override public Person get(Integer id) { Person persnotallow=personDao.selectById(id); return person; }}
@Mapperpublic interface PersonDao { Integer insert(Person person); Person selectById(Integer id);}
<?xml versinotallow="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.fanfu.dao.PersonDao"> <resultMap id="personMap" type="com.fanfu.entity.Person"> <result column="user_name" property="userName"></result> <result column="login_no" property="loginNo"></result> <result column="sex" property="sex"></result> <result column="phone_number" property="phoneNumber"></result> <result column="address" property="address"></result> <result column="house_number" property="houseNumber"></result> <result column="ID_card" property="IDCard"></result> <result column="id" property="id"></result> </resultMap> <insert id="insert" parameterType="com.fanfu.entity.Person" keyProperty="id" keyColumn="id" useGeneratedKeys="true"> insert into sys_person(user_name, login_no, phone_number, sex, ID_card, address, house_number) values (#{userName}, #{loginNo}, #{phoneNumber}, #{sex}, #{IDCard}, #{address}, #{houseNumber}) </insert> <select id="selectById" resultMap="personMap"> select * from sys_person where id = #{id} </select></mapper>
@Slf4j@Datapublic class Person { private Integer id; private String userName; private String loginNo; private String phoneNumber; private String sex; private String IDCard; private String address; private String houseNumber;}
本文鏈接:http://www.www897cc.com/showinfo-26-62357-0.htmlSpring Boot:如何快速集成Mybatis和Thymeleaf
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com
上一篇: Android開發之漸變色,你學會了嗎?