SSM-Mybatis(2)

本文详细解析Log4j在数据库操作异常排查中的作用,讲解如何控制日志输出、格式、级别,并介绍其配置文件的灵活性。涵盖了从基本配置到注解开发的实战步骤,以及如何利用@Param注解优化SQL语句。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

日志
如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手
曾经: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()中设定的属性名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值