一.增删改必须提交事务!!!
1.查询
<select id="getUserById" parameterType="int" resultType="com.ty.pojo.User">
select id,username,password from mybatis.user1 where id= #{id}
</select>
2.删除
<delete id="deleteUser" parameterType="int">
delete from mybatis.user1 where id=#{id}
</delete>
3.添加
<insert id="insertUser" parameterType="com.ty.pojo.User">
insert into mybatis.user1 (id,username,password) values (#{id},#{username},#{password})
</insert>
4.更改
<update id="updateUser" parameterType="com.ty.pojo.User">
update mybatis.user1 set username=#{username},password=#{password} where id=#{id}
</update>
package com.ty.dao;
import com.ty.pojo.User;
import com.ty.utils.SqlSessionUtils;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.session.SqlSession;
import org.junit.jupiter.api.Test;
import java.util.List;
public class UserDaoTest {
@Test
public void test01(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
List<User> userList = mapper.getUserList();
for (User user : userList) {
System.out.println(user);
}
sqlSession.close();
}
@Test
public void test2(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
User usr1 = mapper.getUserById(2);
System.out.println(usr1);
sqlSession.close();
}
@Test
public void test3(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
Integer i = mapper.insertUser(new User(4, "于谦", "yuqian"));
sqlSession.commit();
if(i>0){
System.out.println("添加完成....");
}
sqlSession.close();
}
@Test
public void test4(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
Integer i = mapper.updateUser(new User(4, "于谦大爷", "yuqian"));
sqlSession.commit();
if(i>0){
System.out.println("修改完成....");
}
sqlSession.close();
}
@Test
public void test5(){
SqlSession sqlSession = SqlSessionUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.deleteUser(4);
sqlSession.commit();
sqlSession.close();
}
}
二.万能的Map
①Map 传递参数,直接在sql中取出key即可!【parameterType=“map”】
②对象传递参数,直接在sql中取对象的属性即可
③只有一个基本参数的情况下,可以直接在sql 中取到;
④多个参数用Map ,或者注解