赞
踩
- <!--MySql-->
- <dependency>
- <groupId>mysql</groupId>
- <artifactId>mysql-connector-java</artifactId>
- <version>5.1.49</version>
- </dependency>
-
- <!--Mybatis-->
- <dependency>
- <groupId>org.mybatis.spring.boot</groupId>
- <artifactId>mybatis-spring-boot-starter</artifactId>
- <version>2.2.2</version>
- </dependency>
- spring:
- datasource:
- driver-class-name: com.mysql.cj.jdbc.Driver
- url: jdbc:mysql://192.168.88.130:3306/ylb?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
- username: root
- password: root
-
- # mybatis
- mybatis:
- mapper-locations: classpath:/mapper/**/*.xml
- configuration:
- log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
- map-underscore-to-camel-case: true # 驼峰命名
- @Mapper
- // 也可以在启动类上加上@MapperScan(basePackages = "com.example.dataservice.mapper")注解
- public interface UserMapper {
-
- Integer insert(User user);
-
- User findByUserName(String username);
-
- Integer updatePasswordById(User user);
-
- User findByUid(Integer uid);
-
- Integer updateInfoByUid(User user);
-
- }
- <?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.cy.mapper.UserMapper">
-
- <resultMap id="UserEntityMap" type="com.cy.entity.User">
- <result column="uid" property="uid"></result>
- <result column="is_delete" property="isDelete"></result>
- <result column="created_user" property="createdUser"></result>
- <result column="created_time" property="createdTime"></result>
- <result column="modified_user" property="modifiedUser"></result>
- <result column="modified_time" property="modifiedTime"></result>
- </resultMap>
-
- <!--useGeneratedKeys 主键自增-->
- <!--keyProperty 指明主键-->
- <insert id="insert" useGeneratedKeys="true" keyProperty="uid">
- insert into t_user(username, password, salt, phone, email, gender, avatar, is_delete, created_user,
- created_time, modified_user, modified_time)
- values (#{username}, #{password}, #{salt}, #{phone}, #{email}, #{gender}, #{avatar}, #{isDelete},
- #{createdUser},
- #{createdTime}, #{modifiedUser}, #{modifiedTime})
- </insert>
-
- <select id="findByUserName" resultMap="UserEntityMap">
- select *
- from t_user
- where username = #{username}
- </select>
-
- <update id="updatePasswordById">
- update t_user
- set password=#{password},
- modified_user=#{modifiedUser},
- modified_time=#{modifiedTime}
- where uid = #{uid}
- </update>
-
- <select id="findByUid" resultMap="UserEntityMap">
- select *
- from t_user
- where uid = #{uid}
- </select>
-
- <update id="updateInfoByUid">
- update t_user
- set
- <if test="phone!=null">phone=#{phone},</if>
- <if test="email!=null">email=#{email},</if>
- <if test="gender!=null">gender=#{gender},</if>
- modified_user=#{modifiedUser},
- modified_time=#{modifiedTime}
- where uid = #{uid}
- </update>
-
- </mapper>
在MyBatis中多表查询的时候,一张表并不能存得下,我们的解决方案是new一个新的对象,我们称之为VO(Value Object)对象,这个对象专门用来存这次的联表查询;
MyBatis的Mapper.xml中的SQL语句整合<foreach>标签的案例:
- # 指定实体类的路径
- mybatis.type-aliases-package=com.example.entity
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。