MyBatis CRUD操作
一、select标签
-
绑定单个值(形参名字为i,mapper中为iii,但不影响结果)
public interface UserMapper { user selectUserById(int i); }
<select id="selectUserById" resultType="user"> select * from user where id = #{iii} </select>
-
在方法中传参数(绑定多个参数)
public interface UserMapper { user selectUserByIdName(@Param("id")int i,@Param("username")String name); } /* <select id="selectUserByIdName" resultType="user"> select * from user where id = #{id} and name= #{username} </select> */
-
使用Map传参数
public interface UserMapper { user selectUserByMap(Map<String,Object> map); }
<select id="selectUserByMap" paraeterType="map" resultType="user"> select * from user where name=#{username} and pwd=#{pwd} </select>
Map<String, Object> map = new HashMap<String, Object>(); map.put("username","小明"); map.put("pwd","123456"); User user = mapper.selectUserByNP2(map);
二、insert标签
-
添加用户
int addUser(User user); /* <insert id="addUser" parameterType="com.kuang.pojo.User"> insert into user (id,name,pwd) values (#{id},#{name},#{pwd}) </insert> */
三、update标签
-
更新用户
int updateUser(User user); /* <update id="updateUser" parameterType="com.kuang.pojo.User"> update user set name=#{name},pwd=#{pwd} where id = #{id} </update> */
四、delete标签
-
删除用户
int deleteUser(int id); /* <delete id="deleteUser" parameterType="int"> delete from user where id = #{id} </delete> */
五、使用增删改时需要提交事务
session.commit();
六、模糊查找
-
在java代码中添加通配符
string wildcardname = “%smi%”; list<name> names = mapper.selectlike(wildcardname); /* <select id=”selectlike”> select * from foo where bar like #{value} </select> */
-
在sql代码中添加通配符
string wildcardname = “smi”; list<name> names = mapper.selectlike(wildcardname); /* <select id=”selectlike”> select * from foo where bar like "%"#{value}"%" </select> */