Advanced
CRUD
1.namespace
The package name in the namespace must be the same as the registration of the mapper interface
2.select
-
Select, query
-
id: the name of the namespace method
-
resultType: The return value of the SQL statement execution
-
parmeterType: parameter type
1. Write an interface
public interface UserMapper { // Query all users List <User> getUserList (); // Query a user according to ID User getUserById ( int id); // insert a user int addUser (User user); // Modify user int upsateUser (User user); // Delete a user int deleteUser ( int id);}
2. Write the corresponding SQL statement in the mapper
<mapper namespace="com.kuang.dao.UserMapper"> <!--select 查询语句--> <select id="getUserList" resultType="com.kuang.pojo.User"> select * from mybatis.user; </select> <select id="getUserById" parameterType="int" resultType="com.kuang.pojo.User"> select * FROM mybatis.user where id=#{id}/*#id是可变的参数*/ </select>
3. Test
public class UserDaoTest { @Test/*查看所有*/ public void test() { SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper userDao = sqlSession.getMapper(UserMapper.class); List<User> userList = userDao.getUserList(); for (User user : userList) { System.out.println(user); } sqlSession.close(); } @Test/*查看指定的*/ public void getUserById(){ SqlSession sqlSession = MybatisUtils.getSqlSession();/*获取执行SQL的对象*/ UserMapper mapper = sqlSession.getMapper(UserMapper.class);/*获取UserMaper的对象*/ User userById = mapper.getUserById(1); System.out.println(userById); sqlSession.close(); } @Test public void addUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); inthaha = mapper.addUser ( new User (4, "haha", "d" )); if (haha! = 0 ) { System.out.println ( "Successfully changed" + haha + "个 点" ); } sqlSession .commit (); / * Addition, deletion and modification need to submit transactions * / sqlSession.close (); } @Test / * Modify a content * / public void upsateUser () { SqlSession sqlSession = MybatisUtils.getSqlSession (); UserMapper mapper = sqlSession. getMapper (UserMapper. class ); int i = mapper.upsateUser ( new User(4, "狗蛋", "123456")); sqlSession.commit(); sqlSession.close(); } @Test public void deletdUser(){ SqlSession sqlSession = MybatisUtils.getSqlSession(); UserMapper mapper = sqlSession.getMapper(UserMapper.class); int i = mapper.deleteUser(4); if (i>0){ System.out.println("成功删除id为"+i+"的用户"); } sqlSession.commit(); sqlSession.close(); }
3.insert
<!- The attributes in the object can be directly removed- > < insert id = "addUser" parameterType = "com.kuang.pojo.User" > insert into mybatis.user (id, name, pwd) value (# {id }, # {name}, # {pwd}) </ insert >
4.update
<update id="upsateUser" parameterType="com.kuang.pojo.User"> update mybatis.user set name=#{name},pwd=#{pwd} where id=#{id} </update>
5.delete
<delete id="deleteUser" parameterType="int"> delete from mybatis.user where id=#{id} </delete>
important point:
Add, delete, modify, commit transactions