当前位置: 首页 > 科技观察

SpringBoot集成Mybatis使用注意事项

时间:2023-03-13 18:27:23 科技观察

今天就为大家整理一下SpringBoot集成Mybatis使用注意事项。希望对大家有所帮助!1.搭建一个SpringBoot基础工程。具体可以参考SpringBoot:搭建第一个Web程序2.引入相关依赖org.springframework.bootspring-boot-starterorg.springframework.bootspring-boot-starter-weborg.mybatis.spring.bootmybatis-spring-boot-starter2.1.3mysqlmysql-connector-javaorg.springframework.bootspring-boot-starter-test测试groupId>junitjunit4.12test3.准备数据库脚本创建一个名为test的Mysql数据库,然后执行脚本/*NavicatMySQLDataTransferSourceServer:本地MYSQLSourceServerVersion:50644SourceHost:localhost:3306SourceDatabase:testTargetServerType:MYSQLTargetServerVersion:50644FileEncoding:65001Date:2021-05-1617:20:26*/SETFOREIGN_KEY_CHECKS=0;------------------------------表结构fort_user----------------------------DROPTABLEIFEXISTS`t_user`;CREATETABLE`t_user`(`id`int(11)NOTNULLAUTO_INCREMENT,`user_name`varchar(255)CHARACTERSETarmscii8DEFAULTNULL,`password`varchar(255)CHARACTERSETarmscii8DEFAULTNULL,`last_login_time`datetimeDEFAULTNULL,`sex`tinyint(4)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=8DEFAULTCHARSET=utf8;--------------------------------Recordsoft_user----------------------------INSERTINTO`t_user`VALUES('1','xiaoxin','123','2019-07-2716:01:21','1');INSERTINTO`t_user`VALUES('2','jackjo','123','2019-07-2416:01:37','1');INSERTINTO`t_user`VALUES('4','landengdeng','123','2019-07-2416:01:37','1');INSERTINTO`t_user`VALUES('5','max','123','2019-07-2416:01:37','1');INSERTINTO`t_user`VALUES('6','liua11','123456',null,'1');INSERTINTO`t_user`VALUES('7','xiaozhang','888888',null,'1');4.配置项目配置文件application.ymlserver:port:8090mybatis:configuration:map-underscore-to-camel-case:truemapper-locations:mybatis/**/*Mapper.xmlspring: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:debug5.创建实体类(Integerid){this.id=id;}publicStringgetUserName(){returnuserName;}publicvoidsetUserName(StringuserName){this.userName=userName;}publicStringgetPassword(){returnpassword;}publicvoidsetPassword(Stringpassword){this.password=密码;}publicIntegergetSex(){returnsex;}publicvoidsetSex(Integersex){this.sex=sex;}publicDategetLastLoginTime(){returnlastLoginTime;}publicvoidsetLastLoginTime(DatelastLoginTime){this.lastLoginTime=lastLoginTime;}@OverridepublicStringtoString(){return"UserDO{"+"id="+id+",userName='"+userName+'\''+",password='"+password+'\''+",sex="+sex+",lastLoginTime="+lastLoginTime+'}';}}6.创建mapper文件UserInfoMapper.javapackagemy.springboot.mybatis.dao;importjava.util.List;importjava.util.Map;importmy.springboot.mybatis.entity.UserDO;importorg.apache.ibatis.annotations.Mapper;@MapperpublicinterfaceUserInfoMapper{UserDOget(Integerid);Listlist(Mapmap);intcount(Mapmap);intsave(UserDOuser);intupdate(UserDOuser);intremove(Integerid);intbatchRemove(Integer[]ids);}7.创建Mapper映射文件UserInfoMapper.xmlselectid,user_name,password,last_login_time,sexfromt_userwhereid=#{value}selectid,user_name,password,last_login_time,sexfromt_userandid=#{id}anduser_name=#{userName}andpassword=#{password}andlast_login_time=#{lastLoginTime}andsex=#{sex}orderby${sort}${order}orderbyiddesclimit#{offset},#{limit}selectcount(*)fromt_userandid=#{id}anduser_name=#{userName}andpassword=#{password}andlast_login_time=#{lastLoginTime}andsex=#{sex}insertintot_user(user_name,password,last_login_time,sex)values(#{userName},#{password},#{lastLoginTime},#{sex})updatet_useruser_name=#{userName},password=#{password},last_login_time=#{lastLoginTime},sex=#{sex}whereid=#{id}deletefromt_userwhereid=#{value}deletefromt_userwhereidin#{id}</mapper>8.创建服务接口IUserInfoService.javapackagemy.springboot.mybatis.service;importmy.springboot.mybatis.entity.UserDO;importjava.util.List;publicinterfaceIUserInfoService{ListfindAll();UserDOfindById(Integerid);voidinsert(UserDOmodel);Integerupdate(UserDOmodel);IntegerdeleteById(Integerid);}9.创建服务实例UserInfoService.javapackagemy.springboot.mybatis.service.impl;importmy.springboot.mybatis.dao.UserInfoMapper;importmy.springboot.mybatis...UserDO>findAll(){returnmapper.list(null);}@OverridepublicUserDOfindById(Integerid){returnmapper.get(id);}@Overridepublicvoidinsert(UserDOmodel){mapper.save(model);}@OverridepublicIntegerupdate(UserDOmodel){returnmapper.update(model);}@OverridepublicIntegerdeleteById(Integerid){returnmapper.remove(id);}}10.创建控制器HomeController.javapackagemy.springboot.mybatis.controller;importmy.springboot.mybatis.entity.UserDO;importmy.springboot.mybatis.service.IUserInfoService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;importjavax.jws.soap.SOAPBinding;importjava.util.Date;@ControllerpublicclassHomeController{@AutowiredprivateIUserInfoServiceuserInfoService;@RequestMapping("index")//注解映射请求路径@ResponseBody//可以将java对象转化为Datajson格式publicStringindex(){UserDOuser=userInfoService.findById(1);//添加新用户UserDOadd=newUserDO();add.setSex(1);add.setUserName("xiaozhang");add.setPassword("888888");add.setLastLoginTime(null);//用户信息服务ice.insert(add);//更新用户user.setUserName("xiaoxin");//userInfoService.update(user);//删除用户userInfoService.deleteById(3);return"HelloWorld!";}}起始网址:http://localhost:8090/index11。项目结构文件截图本文转载自微信公众号“IT技术分享社区”。博客链接:https://programmerblog.xyz