日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

SpringBoot集成Mybatis用法笔记

發布時間:2023/12/10 javascript 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SpringBoot集成Mybatis用法笔记 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ??? ? ? ? ?

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

  • 搭建一個SpringBoot基礎項目。

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

  • 引入相關依賴

  • <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>
  • 準備數據庫腳本

  • 創建一個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');
  • 配置項目配置文件 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
  • 創建實體類 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 +'}'; }}
  • 創建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);}
  • 創建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>
  • 創建服務接口 ?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); }
  • 創建服務實現類 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); }}
  • 創建控制器 ?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

  • 項目結構文件截圖

  • ? ? ? ? ? ? ? ?

    總結

    以上是生活随笔為你收集整理的SpringBoot集成Mybatis用法笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。