packagecom.test.dao;importcom.test.pojo.User;importorg.apache.ibatis.annotations.Delete;importorg.apache.ibatis.annotations.Param;importorg.apache.ibatis.annotations.Select;importorg.apache.ibatis.annotations.Update;importjava.util.List;importjava.util.Map;/**
* @program: Mybatis-study
* @description: Dao接口
* @author: Morii
* @create: 2022-09-23 10:43
**/publicinterfaceUserMapper{List<User>getUserList();//根据id查询UsergetUserById(int id);//参数比较少的时候用@Param注解标注来传递即可,多了就用MapUserselectUserByNP(@Param("username")String username,@Param("pwd")String pwd);intaddUser(User user);intupdateUser(User user);intdeleteUser(int id);intaddUser2(Map<String,Object> map);List<User>getUserByLimit(Map<String,Object> map);// //查// @Select("select * from user where id=#{id}")// User getUserByID(@Param("id")int id);//// //增// @Select("insert into user(id,name,pwd) values (#{id},#{name},#{password})")// Integer addUsers(User user);//// //删// @Delete("Delete from user where id=#{id}")// Integer deleteUsers(@Param("id")int id);//// //改// @Update("Update user set name=#{name},pwd=#{password} where id=#{id}")// Integer updateUsers(User user);}
编写Mapper.xml配置文件
此配置文件里写sql语句,数据返回格式等等,也就取代了实现接口的Impl层
写到资源文件resources的下面,包的格式和java包里的的一样
注意增删改要提交事务
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPEmapperPUBLIC"-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd"><!--namespace,这里一定不能写错--><mappernamespace="com.test.dao.UserMapper"><!--select id=接口名 resultType=返回格式"--><selectid="getUserList"resultType="com.test.pojo.User">
select * from mybatis.user
</select><resultMapid="UserMap"type="com.test.pojo.User"><resultcolumn="id"property="id"/><resultcolumn="name"property="name"/><resultcolumn="pwd"property="password"/></resultMap><!--parameterType参数返回类型 返回格式,这里应用定义好了的Map--><selectid="getUserById"parameterType="int"resultMap="UserMap">
select * from mybatis.user where id=#{id}
</select><!--模糊搜索:select * from mybatis.user where name like "%"#{value}"%"--><insertid="addUser"parameterType="com.test.pojo.User">
insert into mybatis.user (id ,name ,pwd) values (#{id},#{name},#{pwd})
</insert><!--map版本--><insertid="addUser2"parameterType="map">
insert into mybatis.user (id,name,pwd) values (#{userid},#{username},#{userpwd})
</insert><updateid="updateUser"parameterType="com.test.pojo.User">
update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id}
</update><deleteid="deleteUser"parameterType="int">
delete from mybatis.user where id=#{id}
</delete><!--分页--><selectid="getUserByLimit"parameterType="map"resultMap="UserMap">
select * from mybatis.user limit #{startIndex},#{pageSize}
</select></mapper>