SpringBoot集成Mybatis用法筆記

? ? ??? ? ? ? ?

今天給大家整理SpringBoot集成Mybatis用法筆記。希望對大家能有所幫助!

  1. 搭建一個SpringBoot基礎項目。

具體可以參考SpringBoot:搭建第一個Web程序

  1. 引入相關依賴

<dependencies><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.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId><version>2.1.3</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version><scope>test</scope></dependency></dependencies>
  1. 準備數據庫腳本

創建一個Mysql數據庫,數據庫名為test,然后執行一下腳本。

/*Navicat MySQL Data Transfer
Source Server         : 本地MYSQLSource Server Version : 50644Source Host           : localhost:3306Source Database       : test
Target Server Type    : MYSQLTarget Server Version : 50644File Encoding         : 65001
Date: 2021-05-16 17:20:26*/
SET FOREIGN_KEY_CHECKS=0;
-- ------------------------------ Table structure for t_user-- ----------------------------DROP TABLE IF EXISTS `t_user`;CREATE TABLE `t_user` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `user_name` varchar(255) CHARACTER SET armscii8 DEFAULT NULL,  `password` varchar(255) CHARACTER SET armscii8 DEFAULT NULL,  `last_login_time` datetime DEFAULT NULL,  `sex` tinyint(4) DEFAULT NULL,  PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
-- ------------------------------ Records of t_user-- ----------------------------INSERT INTO `t_user` VALUES ('1', 'xiaoxin', '123', '2019-07-27 16:01:21', '1');INSERT INTO `t_user` VALUES ('2', 'jack jo', '123', '2019-07-24 16:01:37', '1');INSERT INTO `t_user` VALUES ('4', 'landengdeng', '123', '2019-07-24 16:01:37', '1');INSERT INTO `t_user` VALUES ('5', 'max', '123', '2019-07-24 16:01:37', '1');INSERT INTO `t_user` VALUES ('6', 'liua11', '123456', null, '1');INSERT INTO `t_user` VALUES ('7', 'xiaozhang', '888888', null, '1');
  1. 配置項目配置文件 application.yml

server:port: 8090mybatis:configuration:map-underscore-to-camel-case: true  mapper-locations: mybatis/**/*Mapper.xml
spring:datasource:driverClassName: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/test?useSSL=false&useUnicode=true&characterEncoding=utf8username: rootpassword: rootlogging:level:my.springboot.mybatis.dao: debug
  1. 創建實體類 UserDO.java

package my.springboot.mybatis.entity;
import java.util.Date;
public class UserDO {private Integer id;private String userName;private String password;private Integer sex;private Date lastLoginTime;
public Integer getId() {return id;    }
public void setId(Integer id) {this.id = id;    }
public String getUserName() {return userName;    }
public void setUserName(String userName) {this.userName = userName;    }
public String getPassword() {return password;    }
public void setPassword(String password) {this.password = password;    }
public Integer getSex() {return sex;    }
public void setSex(Integer sex) {this.sex = sex;    }
public Date getLastLoginTime() {return lastLoginTime;    }
public void setLastLoginTime(Date lastLoginTime) {this.lastLoginTime = lastLoginTime;    }
@Override    public String toString() {return "UserDO{" +"id=" + id +", userName='" + userName + '\'' +", password='" + password + '\'' +", sex=" + sex +", lastLoginTime=" + lastLoginTime +'}';    }}
  1. 創建mapper文件 ?UserInfoMapper.java

package my.springboot.mybatis.dao;
import java.util.List;import java.util.Map;import my.springboot.mybatis.entity.UserDO;import org.apache.ibatis.annotations.Mapper;
@Mapperpublic interface UserInfoMapper {    UserDO get(Integer id);    List<UserDO> list(Map<String, Object> map);int count(Map<String, Object> map);int save(UserDO user);int update(UserDO user);int remove(Integer id);int batchRemove(Integer[] ids);}
  1. 創建Mapper映射文件 ?UserInfoMapper.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="my.springboot.mybatis.dao.UserInfoMapper"><select id="get" resultType="my.springboot.mybatis.entity.UserDO">      select id,user_name,password,last_login_time,sex from t_user where id = #{value}</select><select id="list" resultType="my.springboot.mybatis.entity.UserDO">        select id,user_name,password,last_login_time,sex from t_user<where><if test="id != null   and id != '-1' " > and id = #{id} </if><if test="userName != null  and userName != '' " > and user_name = #{userName} </if><if test="password != null  and password != '' " > and password = #{password} </if><if test="lastLoginTime != null  and lastLoginTime != '' " > and last_login_time = #{lastLoginTime} </if><if test="sex != null   and sex != '-1' " > and sex = #{sex} </if></where><choose><when test="sort != null and sort.trim() != ''">                order by ${sort} ${order}</when><otherwise>                order by id desc</otherwise></choose><if test="offset != null and limit != null">            limit #{offset}, #{limit}</if></select><select id="count" resultType="int">        select count(*) from t_user<where><if test="id != null   and id != '-1'  " > and id = #{id} </if><if test="userName != null  and userName != ''  " > and user_name = #{userName} </if><if test="password != null  and password != ''  " > and password = #{password} </if><if test="lastLoginTime != null  and lastLoginTime != ''  " > and last_login_time = #{lastLoginTime} </if><if test="sex != null   and sex != '-1'  " > and sex = #{sex} </if></where></select><insert id="save" parameterType="my.springboot.mybatis.entity.UserDO" useGeneratedKeys="true" keyProperty="id">      insert into t_user      (         user_name,         password,         last_login_time,         sex)      values      (         #{userName},         #{password},         #{lastLoginTime},         #{sex})</insert><update id="update" parameterType="my.springboot.mybatis.entity.UserDO">        update t_user<set><if test="userName != null">user_name = #{userName}, </if><if test="password != null">password = #{password}, </if><if test="lastLoginTime != null">last_login_time = #{lastLoginTime}, </if><if test="sex != null">sex = #{sex}</if></set>        where id = #{id}</update><delete id="remove">      delete from t_user where id = #{value}</delete>
<delete id="batchRemove">        delete from t_user where id in<foreach item="id" collection="array" open="(" separator="," close=")">            #{id}</foreach></delete></mapper>
  1. 創建服務接口 ?IUserInfoService.java

package my.springboot.mybatis.service;import my.springboot.mybatis.entity.UserDO;
import java.util.List;
public interface IUserInfoService {    List<UserDO> findAll();UserDO findById(Integer id);
void insert(UserDO model);Integer update(UserDO model);Integer deleteById(Integer id);
}
  1. 創建服務實現類 UserInfoService.java

package my.springboot.mybatis.service.impl;import my.springboot.mybatis.dao.UserInfoMapper;import my.springboot.mybatis.entity.UserDO;import my.springboot.mybatis.service.IUserInfoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;
import java.util.List;@Servicepublic class UserInfoService implements IUserInfoService {@Autowired    private UserInfoMapper mapper;@Override    public List<UserDO> findAll() {return mapper.list(null);    }
@Override    public UserDO findById(Integer id) {return mapper.get(id);    }
@Override    public void insert(UserDO model) {mapper.save(model);    }
@Override    public Integer update(UserDO model) {return  mapper.update(model);    }
@Override    public Integer deleteById(Integer id) {return mapper.remove(id);    }}
  1. 創建控制器 ?HomeController.java

package my.springboot.mybatis.controller;import my.springboot.mybatis.entity.UserDO;import my.springboot.mybatis.service.IUserInfoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;
import javax.jws.soap.SOAPBinding;import java.util.Date;@Controllerpublic class HomeController {@Autowired    private IUserInfoService userInfoService;@RequestMapping("index") //注解映射請求路徑    @ResponseBody //可以將java對象轉為json格式的數據    public String index()    {        UserDO user=userInfoService.findById(1);// 新增用戶        UserDO add=new UserDO();        add.setSex(1);        add.setUserName("xiaozhang");        add.setPassword("888888");        add.setLastLoginTime(null);//userInfoService.insert(add);        // 更新用戶        user.setUserName("xiaoxin");//userInfoService.update(user);        // 刪除用戶        userInfoService.deleteById(3);
return "Hello World !";    }}

啟動地址:http://localhost:8090/index

  1. 項目結構文件截圖

? ? ? ? ? ? ? ?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/270655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/270655.shtml
英文地址,請注明出處:http://en.pswp.cn/news/270655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

wifi-mac

//18:a6:f7:12:0b:8b //18:a6:f7:1e:a9:57 //18:a6:f7:1f:8e:69 //18:a6:f7:12:0b:9c //18:a6:f7:1f:cd:d4 //18:a6:f7:1c:94:35 轉載于:https://www.cnblogs.com/mayidudu/p/5991781.html

網絡知識:交換機中的半雙工與全雙工知識筆記

今天小編給大家分享一下交換機中半雙工與全雙工相關知識&#xff0c;希望對大家能有所幫助&#xff01; 早期的網絡設備HUB&#xff08;集線器&#xff09;就是半雙工&#xff0c;目前基本沒有人用了&#xff0c;而現在用的SWITCH&#xff08;交換機&#xff09;就是全雙工。 a…

yum 安裝mysql 啟動_linux(centos6.9)下使用yum安裝mysql,及啟動MySQL等

查看系統自帶的mysql版本&#xff1a;rpm -qa | grep mysql卸載mysql&#xff1a;rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps1. 安裝mysql 服務器端&#xff1a;yum -y install mysql-server mysql-devel2. 安裝mysql客戶端&#xff1a;yum install mysql3. 啟動mysql服…

硬件知識:U盤插入電腦沒反應相關解決辦法整理

目錄 一、U盤可能被隱藏 二、USB端口被BIOS禁用 三、電腦的USB驅動可能有問題 今天小編給大家介紹一下U盤插入電腦沒反應相應的解決方案&#xff0c;希望對大家能有所幫助&#xff01; 一、U盤可能被隱藏 首先換臺電腦看看是不是U盤損壞的問題&#xff0c;如果不是&#xff0c;…

分享9個實用的電腦維修技巧,趕緊收藏吧

目錄 01、電腦不能上網 02、電腦藍屏 03、沒有聲音 04、沒有畫面 05、軟件無法啟動 06、顯示器畫面不能滿屏顯示 07、使用過程中自動關機 08、電腦不能開機 09、電腦花屏 今天給大家分享9個實用的電腦維修技巧&#xff0c;趕緊收藏吧&#xff01; 01、電腦不能上網 常見原因1&a…

自媒體資源:分享8個免版權視頻素材網站

目錄 01. 知魚素材 2、 gaiamount 3、 lifeofvids 4、Coverr 5、stock footage 6、vidsplay 7、Pixabay 8、Pexels 今天小編就給大家分享一些免版權的視頻素材網站&#xff0c;有需要的小伙伴趕緊歡迎收藏&#xff01; 01. 知魚素材 https://sucai.zhiyu.art/video 共享協議可免…

win7 mysql msi_windows下的Mysql安裝與基本使用(msi)

本文針對mysql5.6與5.5一、其他版本與安裝方式1.msi(mysql5.7及以上版本參考&#xff1a;https://www.cnblogs.com/zjiacun/p/6653891.html)這里我們用msi吧&#xff0c;只是單純練習的話&#xff0c;簡單很多二、msi安裝(5.5-5.6)1.點擊安裝文件&#xff0c;在出現的安裝向導上…

java中split以“.“ 、“\“、“|”分隔

今天項目里遇到以"." 、"\"、“|”分割字符串&#xff0c;直接用"." 、"\"、“|”無法分割&#xff0c;因為"." 、"\"、“|”是特殊字符&#xff0c;需要轉義&#xff0c;"\\." 、"\\\"、“\…

推薦這11款免費好用的 Mac 軟件

目錄 1、IINA —— 全能視頻播放器 02、大拍檔剪輯助手 03、Dozer 04、Cheatsheet 05、Spectacle 06、Amphetamine 07、Macs Fan Control 08、AdGuard 09、Keka 10、騰訊檸檬清理 11、Cold Turkey Blocker 1、IINA —— 全能視頻播放器 對于Mac OS來說&#xff0c;IINA可以說是…

三角形

源代碼&#xff1a;#include<cstdio> #include<map> #define LL long long#define INF 1000000000 using namespace std; map <double,LL> i; //這個STL差不多就是一個反類型數組。 double f[100001]; LL n,Num(0); LL C(LL N,LL M) //排列組合。 {if (N<…

物理機存放mysql實例原則_MySQL優化筆記(四)--表的設計與優化(單表、多表)...

前面講了SQL優化以及索引的使用、設計優化了&#xff0c;那么接下來就到表的設計與優化啦&#xff01;&#xff01;&#xff01;真實地去設計優化單表結構以及講述多表設計基本原則(結合真實的生產環境的取舍來講述)。文章結構&#xff1a;(1)單表設計與優化&#xff1b;(2)基于…

電腦維修:電腦維修必備工具整理

??作者主頁&#xff1a;IT技術分享社區 ??作者簡介&#xff1a;大家好,我是IT技術分享社區的博主&#xff0c;從事C#、Java開發九年&#xff0c;對數據庫、C#、Java、前端、運維、電腦技巧等經驗豐富。 ??個人榮譽&#xff1a; 數據庫領域優質創作者&#x1f3c6;&#x…

iOS appstore分級

我在周五晚上十點多的時候上傳ipa到App Store&#xff0c;周六凌晨二點多就收到審核信息&#xff08;這是Apple嗎&#xff0c;審核速度我就不敢相信&#xff09;&#xff0c;然后收到他們的郵件&#xff0c; 大概意思就是你的app可以銷售了&#xff0c;大概要等24小時能在App S…

EasyExcel ExcelGenerateException: The index of ‘xx‘ and ‘xx‘ must be inconsistent

EasyExcel 導出Excel&#xff0c;報錯提示如下 原因是兩個字段的index索引值都是沒按順序來&#xff0c;導致異常&#xff0c;索引index從0開始遞增

網站技巧:解決網頁文本禁止復制的限制,一看就會

目錄 1、瀏覽器擴展 2、網頁打印輸出 3、將網頁下載到本地使用 4、OCR 圖片文字識別 5、使用油猴腳本 今天小編就給大家推薦五種解除網頁復制限制的小技巧&#xff0c;希望對大家能有所幫助&#xff01; 1、瀏覽器擴展 主要給大家推薦兩款擴展&#xff1a; Simple Allow Copy&a…

yii2 session mysql_Yii框架 session 數據庫存儲操作方法示例

本文實例講述了Yii框架 session 數據庫存儲操作方法。分享給大家供大家參考&#xff0c;具體如下&#xff1a;在組件中聲明session 組件開啟數據庫庫存儲[components > [db > [class > yii\db\Connection,dsn > mysql:hostlocalhost;dbnameyii,username > root,…

手機操控全站儀安卓版 測量員.app

大家期待已久的智能化全站儀測量功能已經實現了&#xff0c; 簡介 測量員是一款運行在智能手機上的測量應用程序&#xff0c;具有計算精確、輕松高效、智能便捷的特點。測量員可以應用在道路、橋梁、鐵路、隧道、地鐵、市政等工程中&#xff0c;除隧道、地鐵工程的功能外的&…

電腦必備的52個專業術語,有必要了解一下

今天小編給大家分享電腦小白必備的52個專業術語&#xff0c;有必要了解一下&#xff01; PC&#xff1a;個人計算機。 AUD&#xff1a;聲卡(聲卡正式用語應為Sound Card) LAN&#xff1a;網卡(網卡正式用語應為Network Card) MODM&#xff1a;數據卡或調制解調器Modem HUB&…

readkeyboard方法_Linux筆記(12)| 幾種并發式IO的實現方法

今天分享的是幾種實現并發式IO的方法。什么是并發式IO呢&#xff1f;可以簡單理解為比如要同時讀取幾個文件的數據&#xff0c;但是這些文件什么時候可以讀取是不確定的&#xff0c;要實現當某個文件可以讀取的時候就立馬去讀取&#xff0c;這就是并發式。首先提出一個問題&…