注册——持久层
3.1 先编写mapper接口:
创建一个mapper文件下面再创建一个UserMapper接
然后再编写sql语句
3.2在整体的项目中配置一个MapperScan("com.cy.store.mapper")
3.3定义xml映射文件,与接口做相应的关联
1.映射文件必须放在resource文件下,创建一个mapper,然后再写Mapper映射
2.映射文件和接口名称保持一致
insert
<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
)value (#{username},#{password},#{salt},
#{phone},#{email},#{gender},#{avatar},#{isDelete},#{createdUser},#{createdTime},#{modifiedUser},#{modifiedTime})
</insert>
有几个注意事项:
1.mybaits并不能直接实现某个字段自增,要先开启一下用useGeneratedKeys,然后keyProperty是设置他的值
2.value中(#{username})
3.最后不能有,;
select
<!--自定义映射规则-->
<resultMap id="UserEntityMap" type="com.cy.store.entity.User">
<!--定义的时候主键是不能少的-->
<id column="uid" property="uid"></id>
<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>
<!--
resultType:要求sql中的名字和User中的名字一一对应的
resultMap:自定义映射规则
-->
<select id="findByUsername" resultMap="UserEntityMap">
select * from t_user where username = #{username}
</select>
3.4单元测试!!!!
先在test中建包按照上面
package com.cy.store.mapper;
import com.cy.store.entity.User;
import org.apache.ibatis.annotations.Mapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
//不用打包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端