当前位置:   article > 正文

SpringBoot整合MyBatis_springboot整合mybatis配置文件

springboot整合mybatis配置文件

一、导包

  1. <!--MySql-->
  2. <dependency>
  3. <groupId>mysql</groupId>
  4. <artifactId>mysql-connector-java</artifactId>
  5. <version>5.1.49</version>
  6. </dependency>
  7. <!--Mybatis-->
  8. <dependency>
  9. <groupId>org.mybatis.spring.boot</groupId>
  10. <artifactId>mybatis-spring-boot-starter</artifactId>
  11. <version>2.2.2</version>
  12. </dependency>

二、配置文件

  1. spring:
  2. datasource:
  3. driver-class-name: com.mysql.cj.jdbc.Driver
  4. url: jdbc:mysql://192.168.88.130:3306/ylb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
  5. username: root
  6. password: root
  7. # mybatis
  8. mybatis:
  9. mapper-locations: classpath:/mapper/**/*.xml
  10. configuration:
  11. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  12. map-underscore-to-camel-case: true # 驼峰命名

三、编写Mapper类:

  1. @Mapper
  2. // 也可以在启动类上加上@MapperScan(basePackages = "com.example.dataservice.mapper")注解
  3. public interface UserMapper {
  4. Integer insert(User user);
  5. User findByUserName(String username);
  6. Integer updatePasswordById(User user);
  7. User findByUid(Integer uid);
  8. Integer updateInfoByUid(User user);
  9. }

四、编写Mapper.XML文件:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
  5. <mapper namespace="com.cy.mapper.UserMapper">
  6. <resultMap id="UserEntityMap" type="com.cy.entity.User">
  7. <result column="uid" property="uid"></result>
  8. <result column="is_delete" property="isDelete"></result>
  9. <result column="created_user" property="createdUser"></result>
  10. <result column="created_time" property="createdTime"></result>
  11. <result column="modified_user" property="modifiedUser"></result>
  12. <result column="modified_time" property="modifiedTime"></result>
  13. </resultMap>
  14. <!--useGeneratedKeys 主键自增-->
  15. <!--keyProperty 指明主键-->
  16. <insert id="insert" useGeneratedKeys="true" keyProperty="uid">
  17. insert into t_user(username, password, salt, phone, email, gender, avatar, is_delete, created_user,
  18. created_time, modified_user, modified_time)
  19. values (#{username}, #{password}, #{salt}, #{phone}, #{email}, #{gender}, #{avatar}, #{isDelete},
  20. #{createdUser},
  21. #{createdTime}, #{modifiedUser}, #{modifiedTime})
  22. </insert>
  23. <select id="findByUserName" resultMap="UserEntityMap">
  24. select *
  25. from t_user
  26. where username = #{username}
  27. </select>
  28. <update id="updatePasswordById">
  29. update t_user
  30. set password=#{password},
  31. modified_user=#{modifiedUser},
  32. modified_time=#{modifiedTime}
  33. where uid = #{uid}
  34. </update>
  35. <select id="findByUid" resultMap="UserEntityMap">
  36. select *
  37. from t_user
  38. where uid = #{uid}
  39. </select>
  40. <update id="updateInfoByUid">
  41. update t_user
  42. set
  43. <if test="phone!=null">phone=#{phone},</if>
  44. <if test="email!=null">email=#{email},</if>
  45. <if test="gender!=null">gender=#{gender},</if>
  46. modified_user=#{modifiedUser},
  47. modified_time=#{modifiedTime}
  48. where uid = #{uid}
  49. </update>
  50. </mapper>

五、一些技巧

MyBatis中多表查询的时候,一张表并不能存得下,我们的解决方案是new一个新的对象,我们称之为VO(Value Object)对象,这个对象专门用来存这次的联表查询;

MyBatis的Mapper.xml中的SQL语句整合<foreach>标签的案例:

  1. # 指定实体类的路径
  2. mybatis.type-aliases-package=com.example.entity

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/498164
推荐阅读
相关标签
  

闽ICP备14008679号