public class UserDaoTest {
//org.apache.ibatis.exceptions.PersistenceException:
//单元测试
@Test
public void Test(){
//SqlSession 提供了在数据库执行 SQL 命令所需的所有方法
SqlSession sqlSession = MybatisUtils.getSqlSession();
//创建dao接口的代理对象
UserDao mapper = sqlSession.getMapper(UserDao.class);
List userList = mapper.getUserList();
for (User user:userList){
System.out.println(user);
}
sqlSession.close();
}
}
CRUD 查增改删
mapper类
public interface UserDao {
List getUserList();
//按id查询
List getUserListId(int id);
//插入
int insertUser(User user);
//修改
int updateUser(User user);
//删除
int deleteUser(int id);
}
映射配置文件-mapper.xml
实现类
public class UserDaoTest {
//org.apache.ibatis.exceptions.PersistenceException:
@Test
public void Test(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
List userList = mapper.getUserList();
for (User user:userList){
System.out.println(user);
}
sqlSession.close();
}
@Test
public void Test1(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
List userList = mapper.getUserListId(1);
for (User user:userList){
System.out.println(user);
}
sqlSession.close();
}
@Test
public void Test2(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
int i = mapper.insertUser(new User(2, "dd", 1234, "男"));
if(i>0){
System.out.println("ssss");
}
// 提交事务 增加,修改,删除都要
sqlSession.commit();
sqlSession.close();
}
@Test
public void Test3(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.updateUser(new User(2,"nn",123456,"nnn"));
sqlSession.commit();
sqlSession.close();
}
@Test
public void Test4(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserDao mapper = sqlSession.getMapper(UserDao.class);
mapper.deleteUser(2);
sqlSession.commit();
sqlSession.close();
}
}
万能Map
假如实体类的属性,或数据库表中的字段过多,则应当使用Map
int addUser2(Map map);
insert into dmeo.user (id) values (#{map的key}) ;
HashMap map = new HashMap<>();
map.put(key,value);
addUser2(map);
Map 传递参数,在sql中取key
parameterType=“map”
对象传递参数,取对象属性
parameterType=“com.pojo.User”
只有一个基本类型参数,直接取值,可以不用写参数类型
parameterType=“int” ###模糊查询
List getUserListLike(String value);
select * from dmeo.user where name like "%"#{value}"%";
public void getUserListLike(){
SqlSession sqlSession=MybatisUtils.getSqlSession();
UserDao mapper=sqlSession.getMapper(UserDao.class);
List userListLike=mapper.getUserListLike("李");
for(User user:userListLike){
System.out.println(user);
}
}