SSM-Mybatis(2)

SSM-Mybatis(2)日志如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手曾经:sout,debug现在:日志工厂掌握STDOUT_LOGGINGLOG4Jlog4j什么是Log4j?我们可以控制日志信息输送的目的地是控制台我们也可以控制每一条日志的输出格式通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。分页减少数据量selsect * from user limit startIndex,pageS


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

日志
如果一个数据库操作,出现了异常,我们需要排错,日志就是最好的助手
曾经: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()中设定的属性名
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/168983.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python-pandas的fillna()方法-填充空值[通俗易懂]

    Python-pandas的fillna()方法-填充空值[通俗易懂]0.摘要pandas中fillna()方法,能够使用指定的方法填充NA/NaN值。1.函数详解函数形式:fillna(value=None,method=None,axis=None,inplace=False,limit=None,downcast=None,**kwargs)参数:value:用于填充的空值的值。method:{‘backfill’,…

    2022年8月12日
  • Jedis源码分析(四)-JedisSentinel与ShardedJedis介绍「建议收藏」

    Jedis源码分析(四)-JedisSentinel与ShardedJedis介绍

    2022年4月3日
  • 多进程 python_python课程

    多进程 python_python课程进程前置知识点进程:一个程序运行起来后,代码+用到的资源称之为进程,它是操作系统分配资源的基本单元。并发:指的是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行

    2022年7月28日
  • 陕西勉县旅游策划方案——打造三国之都!

    陕西勉县旅游策划方案——打造三国之都!陕西勉县旅游策划方案————打造三国之都熊大寻旅游策划公司/文陕西勉县——三国文化的集散地,以其包容与大气,为三国文化的爱好者铺排了强健的精神底色,给予了所有三国迷体验历史的自信和豪情。2009年8月,受陕西勉县县政府的邀请,熊大寻旅游策划公司和旅游规划公司来到勉县,为其城市旅游进行整体策划。熊大寻旅游策划公司和旅游规划公司在考察走访完勉县所有旅游景点,并消话完项目资料后,对勉县做出了系统…

    2022年6月6日
  • TDD与FDD技术对比

    TDD与FDD技术对比双工(Duplex)是一种在单一通信信道上实现双向通信的过程,包括两种类型,分别为半双工和全双工。  在半双工系统中,通信双方使用单一的共享信道轮流发送数据。双向广播就采用了这种方式。在一方发送数据时,另一方只能收听。数据发送方通常会发出“Over”的信号,表明本方数据发送结束,对方可以开始发送数据。在实际网络中,两台计算机可以使用一根通信电缆来轮流收发数据。  全双工则是指同时的双向通信

    2022年6月6日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号