IDE下springboot+mybatis整合(2)

上篇是无注解版,现在说一下最简单xml形式的版本,其实会复杂一点,还是上篇来的更简单。

首先来一下项目的结构


跟上个一比,就多了好几个文件了。

1.application.properties

在原来那些基础上要多加两行

mybatis.config-locations=classpath:mybatis/mybatis-config.xml
mybatis.mapper-locations=classpath:mybatis/mapper/*.xml

指定mybatis的基础配置文件和实体类映射文件

2.mybatis-config.xml里面

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <typeAliases>
        <typeAlias alias="Integer" type="java.lang.Integer" />
        <typeAlias alias="Long" type="java.lang.Long" />
        <typeAlias alias="HashMap" type="java.util.HashMap" />
        <typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap" />
        <typeAlias alias="ArrayList" type="java.util.ArrayList" />
        <typeAlias alias="LinkedList" type="java.util.LinkedList" />
    </typeAliases>
</configuration>

3.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.nju.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.nju.entity.UserEntity">
        <id column="id" property="id" jdbcType="INTEGER"/>
        <result column="userName" property="userName" jdbcType="VARCHAR"/>
        <result column="passWord" property="passWord" jdbcType="VARCHAR"/>
        <result column="user_sex" property="userSex" javaType="com.nju.enums.UserSexEnum"/>
        <result column="nick_name" property="nickName" jdbcType="VARCHAR"/>
    </resultMap>
    <sql id="Base_Column_List">
       id , userName, passWord, user_sex, nick_name
    </sql>


    <select id="getAll" resultMap="BaseResultMap">
        SELECT
        <include refid="Base_Column_List"/>
        FROM users
    </select>
    <select id="getOne" resultMap="BaseResultMap" parameterType="java.lang.Integer">
      SELECT
      <include refid="Base_Column_List"/>
        FROM users
        WHERE id = #{id}
    </select>


    <insert id="insert" parameterType="com.nju.entity.UserEntity">
        INSERT INTO
        users(userName, passWord, user_sex)
     VALUES (#{userName}, #{passWord}, #{userSex})
    </insert>

<!--逗号逗号逗号, id啥column啥一定对应-->
    <update id="update" parameterType="com.nju.entity.UserEntity">
        UPDATE users
        SET
        <if test="userName != null">userName = #{userName},</if>
        <if test="passWord != null">passWord = #{passWord},</if>
        nick_name = #{nickName}
        WHERE
        id = #{id}
    </update>

<!--空格空格空格-->
    <delete id="delete" parameterType="java.lang.Integer">
        DELETE FROM users
        WHERE
        id = #{id}
    </delete>
</mapper>

后来跑的时候发现我在这里出了好多错,一个是id的jdbc是INTEGER,先写了INT,写了Interger,又写INTERGER,最后终于写对了,我滴天尴尬;然后是一定要注意sql语句,逗号空格的不要忘记;最后还有,凑巧发现

<delete id="delete"parameterType="java.lang.Integer">

和这句

<delete id="delete" parameterType="java.lang.Integer">

是有区别的,下面才是对的

4.mapper里面定义接口

public interface UserMapper {
      List<UserEntity> getAll();
      UserEntity getOne(int id);
      void  insert(UserEntity user);
      void  update(UserEntity user);
      void  delete(int id);

}

就是这样,具体的test跟上次差大不多,就不贴了。具体可以看我的源码


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值