MyBatis学习总结

一周实习总结


经过一段时间的自己学习,最近两周开始接触公司的核心项目了,最近一个月学的东西终于可以有地方可以施展了,公司给了我同事们已经开发好的平台从中拿掉一两个场景,让我也开始进行场景开发,其实自己拿到代码的时候心里还是很没有底的,因为自己从来没有接触过真正公司里的项目,以前自己在学校最多也就是进行做一些课程设计之类的小型项目,但是经过一周时间的边看边学习,还是觉得并不是当初想的那么复杂,公司自己也有一套自己的开发规则,只要弄清楚整个开发流程还是没有什么大问题的,只是其中有一些重要的点没有人家处理得那么好,也许是自己还没有太多的开发经验,但这个项目使用的是mybatis,而自己以前用的是hibernate框架,所以遇到了一些问题,本文就总结了一些有关mybatis的学习总结以及容易出错的地方,希望能够帮助到大家!

一、具体相关步骤:

  1. 添加Mybatis的配置文件conf.xml
    这里写图片描述

  2. 定义表所对应的实体类,如下图所示:
    这里写图片描述

  3. 定义操作数据表的sql映射文件,相当于Dao层(用于定义SQL语句和映射信息)
    这里写图片描述

具体代码:

<?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">  
<!-- 这里我们要通过xml来进行数据库的操作,所以我饿美女给这个mapper指定一个唯一的空间名称, -->  
<mapper namespace="com.mpc.mybaits.model.UserMapper">  
    <!-- 这里定一个select方法,从user表中查找指定id的数据,然后用 resultType="User" User类来进行包装 -->  
    <!--  id是这个方法的唯一标识,通过id来调用这个方法,parameterType是传入的参数的类型,这里是整形。通过#{xxx}来获得传入的参数-->  
    <select id="selectUserByID" parameterType="int" resultType="User">  
        select * from `user` where id = #{id}  
    </select>  
</mapper>  

二、需要注意的几个点:

  • namespace有重要作用,不要重复,调用此文件定义增删改查操作是需要指定namespace;

  • 增加语句:

<!--parameterType因为前面定义过Alias所以不需要写包名,否则要写全包名加类名-->
<insert id="insert" parameterType="PersonEntity">
        insert into t_person(id, name) values(#{id}, #{name})
</insert>
<!--调用的时候要注意写namespace+id-->
  • 删除语句:
<delete id="deleteInfo" parameterType="int">
    delete from t_person where id=#{id}
</delete>
  • 修改语句:
<update id="updateInfo" parameterType="PersonEntity">
    update t_person set name=#{name} where id=#{id}
</update >
  • 查找语句:
<!--查询单行记录-->
<select id="queryById" parameterType="int" resultType="PersonEntity">
    select * from t_person
</select>

<!--查询多行记录-->
<select id="queryAll" resultType="PersonEntity">
    select * from t_person
</select>

<!--查询返回Map类型查询结果-->
<select id="queryPerson" parameterType="int" resultType="java.util.HashMap">
    select id, name from t_person where id=#{id}
</select>
  • 在SqlMap.xml定义操作时,如果查询结果字段名和Java POJO属于不一致时,需要使用元素显示指定映射关系,例如
<select id="queryAll1" resultMap="personMap">
    select id, name from t_person
</select>

<resultMap id="personMap" type="PersonEntity">
    <result property="no" column="id" />
    <result property="username" column="name" />
</resultMap>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值