在Spring Boot中集成Mybatis
在Spring Boot中集成Mybatis
在POM中添加Mybatis的相关起步依赖
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.1.1</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency>
配置数据库连接,我们在application.yml文件中配置一下内容
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://localhost:3306/restful?useUnicode=true&characterEncoding=UTF-8&useSSL=false username: root password: root initialize: true
在数据库中创建user表,字段为ID(INT),NAME(VARCHAR),HOBBY(VARCHAR),并创建user实体Bean,如下:
public class User { private Integer id; private String name; private String hobby; //省去get、set方法 //之前文章我提过一个lombok的框架,可以省去get set方法,大家可以参考一下 //https://my.oschina.net/wangxincj/blog/811611 @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", hobby='" + hobby + '\'' + '}'; } }
user对象创建好后我们编写UserMapper,此处有两种方法,大家可以自行选择:
1、第一种方法如下:
编写Mapper
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; @Mapper public interface UserMapper { int insert(@Param("pojo") User pojo); int insertList(@Param("pojos") List<User> pojo); int update(@Param("pojo") User pojo); }
在resources文件夹下面创建mapper文件夹,存放mapper.xml文件
编写UserMapper.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="com.wang.mybatis.UserMapper"> <!--auto generated Code--> <resultMap id="AllColumnMap" type="com.wang.mybatis.User"> <result column="id" property="id"/> <result column="name" property="name"/> <result column="hobby" property="hobby"/> </resultMap> <!--auto generated Code--> <sql id="all_column"> `id`, `name`, `hobby` </sql> <!--auto generated Code--> <insert id="insert"> INSERT INTO `user` (`id`,`name`,`hobby`) VALUES (#{pojo.id},#{pojo.name},#{pojo.hobby}) </insert> <!--auto generated Code--> <insert id="insertList"> INSERT INTO `user`( <include refid="all_column"/> )VALUES <foreach collection="pojos" item="pojo" index="index" separator=","> ( #{pojo.id}, #{pojo.name}, #{pojo.hobby} ) </foreach> </insert> <!--auto generated Code--> <update id="update"> UPDATE `user` <set> <if test="pojo.id != null"> `id` = #{pojo.id}, </if> <if test="pojo.name != null"> `name` = #{pojo.name}, </if> <if test="pojo.hobby != null"> `pwd` = #{pojo.hobby} </if> </set> WHERE `id` = #{pojo.id} </update> </mapper>
在application.yml中添加Mybatis的相关配置
mybatis: mapper-locations: classpath*:mapper/*Mapper.xml type-aliases-package: com.wang.mybatis
2、第二种方法如下
编写Mapper对象
@Mapper public interface UserMapper { @Insert("INSERT INTO user(name, hobby) VALUES(#{name}, #{hobby})") int insert(@Param("name") String name, @Param("hobby") String hobby); @Update("UPDATE user SET hobby=#{hobby} WHERE name=#{name}") void update(User user); @Delete("DELETE FROM user WHERE id =#{id}") void delete(Long id); }
不难看出第一种方法是比较传统的xml方式配置,而第二种方式则是去除了xml将sql配置到了注解中,简化了配置,也更符合Spring Boot的初衷。两种方法大家看自己的情况而定吧。
至此,Mybatis的相关配置完成。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
使用镜像仓库托管自己构建的Docker镜像
自己构建的Docker镜像,默认存储在本机中,Docker有提供某些方式分享这些镜像,但不是主流的镜像分享方式,也有违于开源社区的共享精神。 本文介绍如何使用GitHub托管Dockerfile;使用DockerHub关联GitHub托管的Dockerfile,进行自动化构建,并托管构建后的镜像。 GitHub地址:https://github.com。 DockerHub地址:https://hub.docker.com。 准备工作 注册GitHub和DockerHub。GitHub主要是用于托管源代码(即托管Dockerfile文件);DockerHub主要用于构建和托管镜像。 两个平台都是免费的,但是因为服务器在国外,访问不是很稳定,原因大家都懂。 使用GitHub托管Dockerfile 参考本人的一个Tomcat Dockerfile仓库:https://github.com/dfengwei/docker-tomcat 主要步骤: 新建一个仓库(New repository),例如命名为:docker-tomcat。 通过git提交(或直接通过界面编辑)源码,目录结构可以参...
- 下一篇
阿里微服务架构师随手笔记:教你如何手写Docker【转】
模拟Docker实现一个简单的容器,不到 200行代码(包括空行、注释、异常处理),这并不是吹牛B。容器技术几乎是Linux kernel内置的模块,我们简单调用一下API就能搞定很多事情。当然你要考虑各种商业因素、政治因素那就会成长为Docker这种量级的代码量了。 盗用一下朋友圈里的段子:小公司与大公司的区别就是,以杀猪为例,小公司是找到猪直接乱刀砍死。大公司要先做一套笼具抓猪,再做一套流程磨刀,再发明一套刀法(工程师通常会就刀法争论很久)杀猪。抓猪的笼具除了能抓猪还能抓跳骚,磨刀的工具除了能磨柴刀,还能磨指甲刀。杀猪的流程除了能杀猪,也能杀鸡。做完了之后你只敲一个杀猪的命令就行。你不知道猪在哪里,因为这是另一个人负责的,代码放在你不知道的某个目录下;你也不知道刀在哪里,因为目录不可见,格式不可读。刀法是啥你也不知道。这套系统理论上威力无比,一群人费了老大劲做出来,除了用柴刀杀猪没干过别的,杀鸡从来没测试过,杀跳骚代码都不完整。但是公司里的所有人都觉得,杀猪就应该这样。所以大家每天忙忙碌碌,猪快活的过了一年又一年。 所以这系列文章我主要介绍如何找到猪、怎么持刀不伤到自己,如何发力能...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7设置SWAP分区,小内存服务器的救世主