SSM-Mybatis(2)

日志
如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手
曾经:sout,debug
现在:日志工厂
在这里插入图片描述
掌握

  • STDOUT_LOGGING
  • LOG4J
    在这里插入图片描述
    log4j
    什么是Log4j?
  • 我们可以控制日志信息输送的目的地是控制台
  • 我们也可以控制每一条日志的输出格式
  • 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程
  • 通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。

分页
减少数据量

selsect * from user limit startIndex,pageSize
  1. 接口
List<User> getUserByList(Map<String,Integer>map);
  1. Mapper.xml
<select id="getUserByList" parameterType="map"  resultMap="user">
        select * from mybatis.user limit #{startIndex},#{pageSize}
    </select>
  1. 测试
public void deleteUser(){
    
    
        SqlSession sqlSession = MybatisUtils.getSqlSession();
        UserMapper mapper = sqlSession.getMapper(UserMapper.class);
        HashMap<String, Integer> map = new HashMap<String, Integer>;
        map.put("startIndex",1);
        map.put("pageSize",2);
        List<User>userList = mapper.getUserByLimit(map);
        for(User user:userList){
    
    
            System.out.println(user);
        }
    }

注解开发
4. 注解在接口上实现

public interface BlogMapper {
  @Select("SELECT * FROM blog WHERE id = #{id}")
  Blog selectBlog(int id);
}
  1. 需要在核心配置文件中绑定接口
<mappers>
	<mapper class="com.kuang.dao.userMapper">
</mappers>

本质:反射机制实现
底层:动态代理,可以把mapper看做动态代理对象

CRUD
我们可以在工具类创佳的呢时候实现自动提交事务

	sqlSessionFactory.openSession(true);

编写接口,添加注解

	@Delete("delete from user where id = #{id}")
    int deleteUser(@Param("uid"),int id);

关于@Param()注解

  • 基本类型的参数或者String类型,需要加上
  • 引用类型不需要加
  • 如果只有一个基本类型的话,可以忽略,但是建议大家都加上
  • 我们在SQL中引用的就是我们这里的@param()中设定的属性名

猜你喜欢

转载自blog.csdn.net/m0_46656833/article/details/112979832