您现在的位置是:首页 > 文章详情

在Spring Boot中集成Mybatis

日期:2018-11-27点击:751

在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的相关配置完成。


原文链接:https://blog.roncoo.com/article/127338
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章