AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

Spring Boot:如何快速集成Mybatis和Thymeleaf

來源: 責(zé)編: 時間:2024-01-16 10:15:20 254觀看
導(dǎo)讀前言有時候做方案,需要模擬一些業(yè)務(wù)上的一些場景來驗證方案的可行性,基本上每次都是到處百度如何集成springboot+mybatis+thymeleaf這些東西的集成平時基本上一年也用不了一次,雖然比較簡單,奈何我真得記不住詳細(xì)的每一步

前言

有時候做方案,需要模擬一些業(yè)務(wù)上的一些場景來驗證方案的可行性,基本上每次都是到處百度如何集成springboot+mybatis+thymeleaf這些東西的集成平時基本上一年也用不了一次,雖然比較簡單,奈何我真得記不住詳細(xì)的每一步,因此每次都是從零開始,我一直在想,把時間浪費在這種重復(fù)的事情是沒有意義的,所以這篇文章記錄一下,以后再也不到處百度來接拼湊了。9os28資訊網(wǎng)——每日最新資訊28at.com

目標(biāo)

springboot中集在mybatis和thymeleaf,簡單實現(xiàn)一下新增和查詢功能,后續(xù)有需要再往上補(bǔ)。9os28資訊網(wǎng)——每日最新資訊28at.com

圖片圖片9os28資訊網(wǎng)——每日最新資訊28at.com

環(huán)境配置

jdk版本:1.89os28資訊網(wǎng)——每日最新資訊28at.com

開發(fā)工具:Intellij iDEA 2020.19os28資訊網(wǎng)——每日最新資訊28at.com

springboot:2.3.9.RELEASE9os28資訊網(wǎng)——每日最新資訊28at.com

具體步驟

依賴引入

主要引入了springboot、thymeleaf、mybais、mysql、jdbc以及熱部署和lombda相關(guān)的依賴;9os28資訊網(wǎng)——每日最新資訊28at.com

<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、數(shù)據(jù)庫連接、mybatis;9os28資訊網(wǎng)——每日最新資訊28at.com

#thymeleaf配置spring.thymeleaf.cache=falsespring.thymeleaf.suffix=.htmlspring.thymeleaf.prefix=classpath:/templates/spring.thymeleaf.servlet.content-type=text/htmlspring.thymeleaf.encoding=utf-8#數(shù)據(jù)庫連接配置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

圖片圖片9os28資訊網(wǎng)——每日最新資訊28at.com

前端代碼9os28資訊網(wǎng)——每日最新資訊28at.com

1、resources/static目錄下,新增靜態(tài)文件index.html;9os28資訊網(wǎng)——每日最新資訊28at.com

<!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/>        手機(jī)號碼:<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文件;9os28資訊網(wǎng)——每日最新資訊28at.com

<!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>手機(jī)號碼:<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>

后端代碼

1、PersonController.java

@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;    }}

2、IPersonService.java

public interface IPersonService {    Integer registe(Person person);    Person get(Integer id);}

3、PersonServiceImpl.java

@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;    }}

4、PersonDao.java

@Mapperpublic interface PersonDao {    Integer insert(Person person);    Person selectById(Integer id);}

5、PersonMapper.xml

<?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>

6、Person.java

@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.tebozhan.com/showinfo-26-62357-0.htmlSpring Boot:如何快速集成Mybatis和Thymeleaf

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Android開發(fā)之漸變色,你學(xué)會了嗎?

下一篇: 零基礎(chǔ)入門Python與MongoDB:輕松實現(xiàn)數(shù)據(jù)管理

標(biāo)簽:
  • 熱門焦點
  • Find N3入網(wǎng):最高支持16+1TB

    OPPO將于近期登場的Find N3折疊屏目前已經(jīng)正式入網(wǎng),型號為PHN110。本次Find N3在外觀方面相比前兩代有很大的變化,不再是小號的橫向折疊屏,而是跟別的廠商一樣采用了較為常見的
  • 帥氣純真少年!日本最帥初中生選美冠軍出爐

    日本第一帥哥初一生選美大賽冠軍現(xiàn)已正式出爐,冠軍是來自千葉縣的宗田悠良。日本一直熱衷于各種選美大賽,從&ldquo;最美JK&rdquo;起到&ldquo;最美女星&r
  • 太卷!Redmi MAX 100英寸電視便宜了:12999元買Redmi史上最大屏

    8月5日消息,從小米商城了解到,Redmi MAX 100英寸巨屏電視日前迎來官方優(yōu)惠,到手價12999元,比發(fā)布價便宜了7000元,在大屏電視市場開卷。據(jù)了解,Redmi MAX 100
  • K6:面向開發(fā)人員的現(xiàn)代負(fù)載測試工具

    K6 是一個開源負(fù)載測試工具,可以輕松編寫、運行和分析性能測試。它建立在 Go 和 JavaScript 之上,它被設(shè)計為功能強(qiáng)大、可擴(kuò)展且易于使用。k6 可用于測試各種應(yīng)用程序,包括 Web
  • 學(xué)習(xí)JavaScript的10個理由...

    作者 | Simplilearn編譯 | 王瑞平當(dāng)你決心學(xué)習(xí)一門語言的時候,很難選擇到底應(yīng)該學(xué)習(xí)哪一門,常用的語言有Python、Java、JavaScript、C/CPP、PHP、Swift、C#、Ruby、Objective-
  • 一文掌握 Golang 模糊測試(Fuzz Testing)

    模糊測試(Fuzz Testing)模糊測試(Fuzz Testing)是通過向目標(biāo)系統(tǒng)提供非預(yù)期的輸入并監(jiān)視異常結(jié)果來發(fā)現(xiàn)軟件漏洞的方法??梢杂脕戆l(fā)現(xiàn)應(yīng)用程序、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議等中的漏洞或
  • 使用Webdriver-manager解決瀏覽器與驅(qū)動不匹配所帶來自動化無法執(zhí)行的問題

    1、前言在我們使用 Selenium 進(jìn)行 UI 自動化測試時,常常會因為瀏覽器驅(qū)動與瀏覽器版本不匹配,而導(dǎo)致自動化測試無法執(zhí)行,需要手動去下載對應(yīng)的驅(qū)動版本,并替換原有的驅(qū)動,可能還
  • 品牌洞察丨服務(wù)本地,美團(tuán)直播成效幾何?

    來源:17PR7月11日,美團(tuán)App首頁推薦位出現(xiàn)&ldquo;美團(tuán)直播&rdquo;的固定入口。在直播聚合頁面,外賣&ldquo;神槍手&rdquo;直播間、美團(tuán)旅行直播間、美團(tuán)買菜直播間等均已上線,同時
  • AI藝術(shù)欣賞體驗會在上海梅賽德斯奔馳中心音樂俱樂部上演

    光影交錯的鏡像世界,虛實幻化的視覺奇觀,虛擬偶像與真人共同主持,這些場景都出現(xiàn)在2019世界人工智能大會的舞臺上。8月29日至31日,“AI藝術(shù)欣賞體驗會”在上海
Top