只需对三个部分的文件代码进行编写java
在对应接口添加方法。sql
在绑定的接口的 x m l xml xml文件实现该方法。apache
在 T e s t Test Test类中使用该方法。session
1.在对应接口添加方法。mybatis
public interface UserMapper { //经过id查询用户 User getUserById(int id); }
2.在绑定的接口的 x m l xml xml文件实现该方法。app
<!--这里的参数类型是int,由于是经过id查询--> <select id="getUserById" parameterType="int" resultType="com.harris.pojo.User"> select * from mybatis.user where id= #{id} </select>
3.在 T e s t Test Test类中使用该方法。ide
@Test public void getUserById(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserById(2); System.out.println(user); sqlSession.close(); }
1.在对应接口添加方法。spa
//添加用户 int addUser(User user);
2.在绑定的接口的 x m l xml xml文件实现该方法。code
<insert id="addUser" parameterType="com.harris.pojo.User"> insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd}) </insert>
3.在 T e s t Test Test类中使用该方法。xml
@Test public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int flag = mapper.addUser(new User(3,"harris","123134")); if(flag>0){ System.out.println("插入成功"); } sqlSession.commit();//增删改须要提交事务 sqlSession.close(); }
这里须要注意的是增删改都须要进行提交事务即调用 c o m m i t ( ) commit() commit()方法,不然增删改是无效的。
1.UserMapper.java
package com.harris.dao; import com.harris.pojo.User; import java.util.List; public interface UserMapper { List<User> getUserList(); //经过id查询用户 User getUserById(int id); //添加用户 int addUser(User user); //修改用户 int updUser(User user); //删除用户 int delUser(int id); }
2.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.harris.dao.UserMapper"> <select id="getUserList" resultType="com.harris.pojo.User"> select * from mybatis.user </select> <select id="getUserById" parameterType="int" resultType="com.harris.pojo.User"> select * from mybatis.user where id= #{id} </select> <insert id="addUser" parameterType="com.harris.pojo.User"> insert into mybatis.user(id, name, pwd) VALUES (#{id},#{name},#{pwd}) </insert> <update id="updUser" parameterType="com.harris.pojo.User"> update mybatis.user set name=#{name},pwd=#{pwd} where id = #{id} </update> <delete id="delUser" parameterType="com.harris.pojo.User"> delete from mybatis.user where id=#{id} </delete> </mapper>
3.Test类
package com.harris.dao; import com.harris.pojo.User; import com.harris.utils.MybatisUtils; import org.apache.ibatis.session.SqlSession; import java.util.List; import org.junit.Test; public class UserMapperTest { @Test public void test(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); List<User> userList = mapper.getUserList(); for(User user:userList){ System.out.println(user); } sqlSession.close(); } @Test public void getUserById(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); User user = mapper.getUserById(2); System.out.println(user); sqlSession.close(); } @Test public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int flag = mapper.addUser(new User(3,"harris","123134")); if(flag>0){ System.out.println("插入成功"); } sqlSession.commit();//增删改须要提交事务 sqlSession.close(); } @Test public void updUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int flag = mapper.updUser(new User(4,"yyy","654321")); if(flag>0){ System.out.println("修改为功"); } sqlSession.commit(); sqlSession.close(); } @Test public void delUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int flag = mapper.delUser(3); if(flag>0){ System.out.println("删除成功"); } sqlSession.commit(); sqlSession.close(); } }