当前位置: 首页 > news >正文

锦州网站建设资讯搜索关键词站长工具

锦州网站建设资讯,搜索关键词站长工具,创建站点如何做网站,网站服务器自己做文章目录 MyBatis:Day 02一、生命周期和作用域二、结果集映射:ResultMap三、日志工厂1. 标准日志:STDOUT_LOGGING2. LOG4J 四、分页五、使用注解开发六、Lombok注意: MyBatis:Day 02 一、生命周期和作用域 理解不同作…

文章目录

  • MyBatis:Day 02
  • 一、生命周期和作用域
  • 二、结果集映射:ResultMap
  • 三、日志工厂
    • 1. 标准日志:STDOUT_LOGGING
    • 2. LOG4J
  • 四、分页
  • 五、使用注解开发
  • 六、Lombok
  • 注意:

MyBatis:Day 02

一、生命周期和作用域

理解不同作用域生命周期类别是至关重要的,因为错误的使用会导致非常严重的并发问题

SqlSessionFactoryBuilder

  1. 一旦创建了 SqlSessionFactory,就不再需要它了;
  2. 最佳作用域是方法作用域(也就是局部方法变量)。

SqlSessionFactory :相当于数据库连接池

  1. 一旦被创建就应该在应用的运行期间一直存在,没有任何理由丢弃它或重新创建另一个实例最佳实践是在应用运行期间不要重复创建多次;
  2. 最佳作用域是应用作用域;
  3. 最简单的就是使用单例模式或者静态单例模式。

SqlSession :相当于连接到连接池的一个请求

  1. 每个线程都应该有它自己的 SqlSession 实例;
  2. SqlSession 的实例不是线程安全的,因此是不能被共享的,所以它的最佳的作用域是请求或方法作用域;
  3. 用完之后需要赶紧关闭,否则资源被占用。

二、结果集映射:ResultMap

属性名和字段名不一致时,会出现读取数据为 null 的情形。

两种解决方法

  • 在写 sql 语句时,将查询到的字段起别名,与属性名一致;
  • 使用结果集映射 resultMap 标签。

注意点

  1. 第二种方式,记得要把标签 resultType 改为 resultMapresultMap 标签的名字可以随便起,但要对应;
  2. 第二种方式,resultMap 标签中的 type返回值类型property实体类中的属性column数据库中的字段
  3. 第二种方式,只需要映射属性名和字段名不一致的即可;
  4. resultMap 元素是 MyBatis 中最重要最强大的元素。ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。

三、日志工厂

如果一个数据库操作出现了异常,此时可以用日志来帮助我们排错。

可以在 MyBatis 核心配置文件中,指定 MyBatis 所用日志的具体实现。

常用的日志有:STDOUT_LOGGING、LOG4J(3.5.9 起废弃)。

1. 标准日志:STDOUT_LOGGING

在 MyBatis 核心配置文件中进行配置

<settings><setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

注意:注意字母大小写,不能多空格,严格按照参考文档规范

日志输出

注意:由日志可以看到,MyBatis 会自动开启事务,但增删改操作需要手动提交事务。

2. LOG4J

由于漏洞影响,IntelliJ 平台彻底停止使用 LOG4J,建议切换到 java.util.logging 作为标准日志框架。


四、分页

MyBatis 实现分页,使用的是 limit 分页,核心还是在写 sql。

举例:查询名字带有“张”的人,并进行分页。

除了自己进行分页,还可以使用 MyBatis 分页插件 PageHelper,点此进入。


五、使用注解开发

  1. 注解本质上是一个接口,该接口默认继承了 java.lang.annotation.Annotation 接口。

  2. 面向接口编程的原因解耦,达到定义(规范、约束)与实现的分离。

  3. MyBatis 除了用 Mapper.xml 映射器类映射,还有另一种方法可以完成语句映射:使用 Java 注解来配置

  4. 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句,Java 注解不仅力不从心,还会让本就复杂的 SQL 语句更加混乱不堪。 因此,如果你需要做一些很复杂的操作,最好用 XML 来映射语句。

  5. 选择何种方式来配置映射,永远不要拘泥于一种方式,可以很轻松地在基于注解和 XML 的语句映射方式间自由移植和切换。

  6. 注解开发的本质是:反射机制实现;底层:使用了动态代理。

步骤

  • 在接口的方法上添加注解,编写 sql 语句;
  • 在核心配置文件中绑定接口;
  • 测试。

注意

  1. 有了注解,就不需要 Mapper.xml 配置文件了,并且需要在 MyBatis 核心配置文件中绑定接口
  2. 写注解中的 sql 语句时,注意参数的对应关系
    • 参数有 @Param("x") 注解的,#{x} 从 Param 注解中找对应名字拿参;
    • 参数是实体类,#{属性名} 从实体类中依据属性名拿参;
    • 参数是 Map 集合,#{键} 从集合中依据键名拿参。
  3. 关于 @Param("") 注解:
    • 基本数据类型String 类型的参数,需要在参数前加上该注解;
    • 引用类型不需要加;
    • 如果只有一个基本数据类型,可以不用加,但是最好加上。

六、Lombok

  1. Lombok 项目是一个 Java 库,它可以自动插入到编辑器和构建工具中,增强 Java 的性能;

  2. 不需要再写 getter、setter 或 equals 方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等。

使用步骤

  • 在 IDEA 中安装 Lombok 插件

    注意:打开 IDEA 设置,找到 Plugins 上面搜索 Lombok,如果搜得到就可以直接下载。如果搜索不到,进入官网下载安装包,并导入,Lombok 官网点此进入。从 IntelliJ 2020.3 版开始,Lombok 插件将默认集成并包含在 IntelliJ 中。

  • 在项目中导入 Lombok 的 jar 包(Maven 项目导入依赖)
<!-- lombok -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.24</version>
</dependency>
  • 使用 Lombok:在实体类中加注解

    常用的注解(下图圈出来的):

    • @Data:除了有参构造器,其他都会自动生成;
    • @AllArgsConstructor:生成有参构造器,注意此时无参构造器会消失;
    • @NoArgsConstructor:生成无参构造器。


注意:

  1. MyBatis 分页插件 PageHelper:https://pagehelper.github.io/
  2. Lombok 官网下载:https://plugins.jetbrains.com/plugin/6317-lombok/versions
http://www.zhongyajixie.com/news/13527.html

相关文章:

  • 网站设计的目的是什么我想做app推广代理
  • 怎么用电脑做web服务器网站网络营销推广的概念
  • 深圳 企业 网站建设哪家好bt磁力王
  • 做网站.cn好还是.com好人民日报今日头条新闻
  • 怎么做填表网站电话营销技巧和营销方法
  • 重庆平台网站建设价格哈尔滨百度搜索排名优化
  • 企业网站建设完整教程青岛网站开发公司
  • 哪里做网站便宜苏州网站优化排名推广
  • 织梦做视频网站企业软文营销发布平台
  • 备案名称和网站名称百度指数官网登录
  • 广东网站建设微信商城运营免费引流推广工具
  • 电子商务网站建设 精品课程看广告收益最高的软件
  • 网站如何做搜索引擎优化郑州制作网站公司
  • 西安3d效果图制作公司网站seo诊断分析报告
  • 如何查询网站哪个公司做的做直销去哪里找客户
  • 中国中建设计网站手机访问另一部手机访问文件
  • 做网站自己买域名网页制作与网站建设实战教程
  • 做色情网站需要注意什么软文营销广告案例
  • 合肥房产网备案查询优化百度百科
  • 网站建设代理协议百度关键词排名点
  • 做网站具体收费不收费的小说网站排名
  • 用rp怎么做网站导航菜单哪里有学计算机培训班
  • 正规手机网站建设平台培训学校机构
  • 网站开发需要多少钱价格怎样在百度上免费做广告
  • 学校网站的目的seo 资料包怎么获得
  • 九江市做网站的公司百度商城官网首页
  • 网站建设哪些网站可以搜索引擎优化课程总结
  • 公司做的网站账务处理搜索引擎关键词seo优化公司
  • 7天精通网站建设实录自建站
  • 做网站找哪家最好制作一个简单的网站