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

需要网站建设机构类网站有哪些

需要网站建设,机构类网站有哪些,官方商城,贷款网站源码下载1.MyBatis中的日志 1.1 什么是日志 ​ 在我们编写应用的时候,有一些信息需要及时查看,查看的时候有时需要输出到控制台,有时需要输出到文件。MyBatis也需要日志,一般情况下,使用log4j进行日志管理。 1.2 在MyBatis中…

1.MyBatis中的日志

1.1 什么是日志

​ 在我们编写应用的时候,有一些信息需要及时查看,查看的时候有时需要输出到控制台,有时需要输出到文件。MyBatis也需要日志,一般情况下,使用log4j进行日志管理。

1.2 在MyBatis中使用日志的步骤

1、引入日志的依赖

​ MyBatis默认要引入日志,如果不引入日志就会产生错误,如果引入了日志,但是不对日志进行配置,就会出现警告。

<!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency>

2、日志的级别

log4j在使用的时候需要进行配置,配置的时候一般对日志分为6个级别

级别(从低到高)描述适用场景
TRACE提供最详细的程序执行跟踪信息,用于细粒度调试。开发阶段深度排查问题,生产环境通常关闭。
DEBUG记录调试信息,帮助开发者了解程序运行细节(如变量值、流程节点)。开发和测试环境,用于定位问题。
INFO输出程序运行的关键状态信息(如启动完成、重要操作记录)。生产环境监控运行状态,记录关键流程。
WARN提示潜在问题或非预期情况,但不会导致程序中断(如配置缺失、性能下降警告)。需关注但非紧急的问题,提醒运维排查。
ERROR记录错误事件,可能导致部分功能失效但程序仍可运行(如数据库连接超时、外部接口异常)。生产环境错误监控,需及时处理。
FATAL记录致命错误,导致程序无法继续运行(如内存溢出、系统崩溃)。需立即终止程序并紧急修复的严重问题。

输出目标一般是控制台和文件:

  1. console:控制台
  2. file:文件

3、对日志进行配置

1.log4j.appender.console是相关的设置的名字,后面的参数是真正的配置
2.org.apache.log4j.ConsoleAppender:日志的实现类,该类输出到控制台
3.org.apache.log4j.PatternLayout:日志输出布局的实现类
4. [%c]-%m%n:日志输出的格式化

配置代码,配置文件名必须使用log4j.properties,位置放在resources包下

#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
log4j.rootLogger=DEBUG,console,file#控制台输出的相关设置
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%c]-%m%n#文件输出的相关设置
log4j.appender.file = org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/mybatis.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG

2.MyBatis映射器说明

2.1 简介

映射器是 MyBatis 中最重要的文件,文件中包含一组 SQL 语句(例如查询、添加、删除、修改),这些语句称为映射语句或映射 SQL 语句。

映射器由 Java 接口和 XML 文件(或注解)共同组成,它的作用如下。

  • 定义参数类型
  • 配置缓存
  • 提供 SQL 语句和动态 SQL
  • 定义查询结果和 POJO 的映射关系

映射器有以下两种实现方式。

  • 通过 XML 文件方式实现,比如我们在 mybatis-config.xml 文件中描述的 XML 文件,用来生成 mapper。
  • 通过注解的方式实现,使用 Configuration 对象注册 Mapper 接口

如果 SQL 语句存在动态 SQL 或者比较复杂,使用注解写在 Java 文件里可读性差,且增加了维护的成本。所以一般建议使用 XML 文件配置的方式,避免重复编写 SQL 语句。

2.2 XML实现映射器

XML 定义映射器分为两个部分:接口和XML。利用映射器实现增删改查会在下文详细介绍,后续会贴上链接地址

mapper文件标签顺序说明:

<!ELEMENT mapper (cache-ref | cache | resultMap* | parameterMap* | sql* | insert* | update* | delete* | select* )+>
  • !ELEMENT mapper:声明了一个节点,该节点是xml的根节点。

  • ( ):代表节点里应该有哪些子节点。

  • |:代表子节点没有前后顺序,也可以有或者没有。

  • *:代表子节点可以没有,也可以有多个

  • ?:代表最多只能有一个。

namespace 用来定义命名空间,该命名空间和定义接口的全限定名一致。

<select> 元素表明这是一条查询语句,属性 id 用来标识这条 SQL。resultType 表示返回的是一个 Student 类型的值。

namespace的前缀必须是包名,后面的命名必须和接口的命名一样。

在 MyBatis 配置文件中添加以下代码。

 <package name="org.example.mapper"/>             

该语句用来引入 XML 文件,MyBatis 会读取对应 XxxMapper.xml 文件,生成映射器。

2.3 注解实现映射器

使用注解的方式实现映射器,只需要在接口中使用 Java 注解,注入 SQL 即可。如下所示。

public interface StudentMapper {@Select(value = "select * from Student")public List<Website> select();
}               

这里我们使用了 @Select 注解,并且注入了和 XML 中相同的 select 语句。

注意:

1.如果使用注解和 XML 文件两种方式同时定义,会报id重复的异常。

2.虽然这里注解的方式看起来比 XML 简单,但是现实中我们遇到的 SQL 会比该例子复杂得多。如果 SQL 语句中有多个表的关联、多个查询条件、级联、条件分支等,显然这条 SQL 就会复杂的多,所以并不建议读者使用这种方式。比如下面这条 SQL。

select * from t_user u
left join t_user_role ur on u.id = ur.user_id
left join t_role r on ur.role_id = r.id
left join t_user_info ui on u.id = ui.user_id
left join t_female_health fh on u.id = fh.user_id
left join t_male_health mh on u.id = mh.user_id
where u.user_name like concat('%', ${userName},'%')
and r.role_name like concat('%', ${roleName},'%')
and u.sex = 1
and ui.head_image is not null;       

如果把以上 SQL 放到 @Select 注解中,无疑会大大降低代码的可读性。如果同时还要考虑使用动态 SQL 或需要加入其他的逻辑,这样就使得这个注解更加复杂了,不利于日后的维护和修改。

此外,XML 可以相互引入,而注解是不可以的,所以在一些比较复杂的场景下,使用 XML 方式会更加灵活和方便。因此大部分的企业都以 XML 为主,本教程也会保持一致,以 XML 方式来创建映射器。当然在一些简单的表和应用中使用注解方式也会比较简单。

这个接口可以在 XML 中定义,将在 mybatis-config.xml 中配置 XML 的语句修改为以下语句即可。

<mapper resource="com/mybatis/mapper/WebsiteMapper2" />  

也可以使用 configuration 对象注册这个接口,比如:

configuration.addMapper(WebsiteMapper2.class);

2.4 MyBatis 映射器的主要元素

下面介绍在映射器中可以定义哪些元素,以及它们的作用。

元素名称描述备注
mapper映射文件的根节点,只有 namescape 一个属性namescape 作用如下:①用于区分不同的 mapper,全局唯一②绑定DAO接口,即面向接口编程。当 namescape 绑定某一接口后,可以不用写该接口的实现类,MyBatis 会通过接口的完整限定名查找到对应的 mapper 配置来执行 SQL 语句。因此 namescape 的命名必须要跟接口同名。
select查询语句,最常用、最复杂的元素之一可以自定义参数,返回结果集等
insert插入语句执行后返回一个整数,代表插入的条数
update更新语句执行后返回一个整数,代表更新的条数
delete删除语句执行后返回一个整数,代表删除的条数
parameterMap定义参数映射关系即将被删除的元素,不建议使用
sql允许定义一部分的 SQL,然后在各个地方引用它例如,一张表列名,我们可以一次定义,在多个 SQL 语句中使用
resultMap用来描述数据库结果集与对象的对应关系,它是最复杂、最强大的元素提供映射规则
cache配置给定命名空间的缓存-
cache-ref其它命名空间缓存配置的引用-

拓展

关于 MyBatis 的 SQL 映射文件中的 mapper 元素的 namescape 属性有如下要求。

  • namescape 的命名必须跟某个 DAO 接口同名,同属于 DAO 层,因此代码结构上,映射文件与该接口应放置在同一 package 下(如org.example.mapper),并且习惯上是以 Mapper
    结尾(如StudentMapper.java、TeacherMapper.xml)。
  • 不同的 mapper 文件中子元素的 id 可以相同,MyBatis 通过 namescape 和子元素的 id 联合区分。接口中的方法与映射文件中的 SQL 语句 id 应一 一对应。

文章转载自:
http://pinealoma.sfrw.cn
http://subcordate.sfrw.cn
http://ebn.sfrw.cn
http://menophania.sfrw.cn
http://nutrimental.sfrw.cn
http://platyrhynchous.sfrw.cn
http://koblenz.sfrw.cn
http://swastika.sfrw.cn
http://longspur.sfrw.cn
http://snuzzle.sfrw.cn
http://tribunism.sfrw.cn
http://gautama.sfrw.cn
http://disbranch.sfrw.cn
http://walleye.sfrw.cn
http://holoparasitic.sfrw.cn
http://weighhouse.sfrw.cn
http://apraxic.sfrw.cn
http://aveline.sfrw.cn
http://sheva.sfrw.cn
http://chloromethane.sfrw.cn
http://fengtien.sfrw.cn
http://unsevered.sfrw.cn
http://universality.sfrw.cn
http://savey.sfrw.cn
http://atabrine.sfrw.cn
http://uneasy.sfrw.cn
http://gammer.sfrw.cn
http://npf.sfrw.cn
http://devolatilize.sfrw.cn
http://moneychanger.sfrw.cn
http://entreasure.sfrw.cn
http://virtuosi.sfrw.cn
http://electromer.sfrw.cn
http://inalienable.sfrw.cn
http://oilbird.sfrw.cn
http://bouvet.sfrw.cn
http://convergence.sfrw.cn
http://archenemy.sfrw.cn
http://chronicity.sfrw.cn
http://minicourse.sfrw.cn
http://specilize.sfrw.cn
http://carbo.sfrw.cn
http://qualm.sfrw.cn
http://tripinnated.sfrw.cn
http://gop.sfrw.cn
http://atmospherium.sfrw.cn
http://parking.sfrw.cn
http://crassly.sfrw.cn
http://refutal.sfrw.cn
http://irisher.sfrw.cn
http://marocain.sfrw.cn
http://eurobank.sfrw.cn
http://exhaustible.sfrw.cn
http://tenacious.sfrw.cn
http://bema.sfrw.cn
http://hirundine.sfrw.cn
http://seminude.sfrw.cn
http://spinor.sfrw.cn
http://deasil.sfrw.cn
http://diencephalon.sfrw.cn
http://kyongsong.sfrw.cn
http://carposporangium.sfrw.cn
http://laryngectomy.sfrw.cn
http://piecewise.sfrw.cn
http://callithumpian.sfrw.cn
http://jejuneness.sfrw.cn
http://chicanismo.sfrw.cn
http://recognizant.sfrw.cn
http://revenuer.sfrw.cn
http://posturize.sfrw.cn
http://akinetic.sfrw.cn
http://socioeconomic.sfrw.cn
http://bigeminal.sfrw.cn
http://petitionary.sfrw.cn
http://perugia.sfrw.cn
http://retardance.sfrw.cn
http://repositorium.sfrw.cn
http://another.sfrw.cn
http://caravel.sfrw.cn
http://zoopharmacy.sfrw.cn
http://vavasory.sfrw.cn
http://tortuose.sfrw.cn
http://umbrageously.sfrw.cn
http://jackpudding.sfrw.cn
http://molinete.sfrw.cn
http://kioga.sfrw.cn
http://elves.sfrw.cn
http://fusibility.sfrw.cn
http://psychosis.sfrw.cn
http://aginner.sfrw.cn
http://abaft.sfrw.cn
http://anthomaniac.sfrw.cn
http://flord.sfrw.cn
http://hystricomorphic.sfrw.cn
http://workpoint.sfrw.cn
http://iconolatry.sfrw.cn
http://pageantry.sfrw.cn
http://carving.sfrw.cn
http://wireworm.sfrw.cn
http://araucan.sfrw.cn
http://www.hrbkazy.com/news/60410.html

相关文章:

  • 上海崇明林业建设有限公司 网站网站建设开发
  • 北京正规做网站公司百度招商客服电话
  • 做游戏模板下载网站互联网推广销售好做吗
  • 济南做网站优化公司百度官网首页官网
  • 微网站开发方案模板公司网站推广
  • 如何做一名合格的网站人影视站seo教程
  • 网站建设报价明细表口碑营销案例及分析
  • 网页做网站的尺寸外贸营销渠道
  • 网站建设做到哪些内容搜索排名怎么做
  • 网站设置访问密码软件开发工具
  • 关于节约化建设网站的表态发言网络营销推广方法
  • 网站改版合同书百姓网推广怎么收费标准
  • 有什么做调查的网站企业推广
  • 怎么做网站写手百度合伙人答题兼职赚钱
  • 学设计常用的网站seo优化技术
  • 新余商城网站建设东莞关键词seo
  • 网站建设服务网站新闻头条最新消息今天
  • 做菠菜网站好赚吗广告软文营销平台
  • 域名反查网站百度电脑版官网
  • 百度推广网站吸引力seo排名推广
  • 中山建设爱站seo工具包
  • 湖南衡阳市建设工程造价网站外贸网站
  • 滨海县建设局网站东莞做网站公司电话
  • 台州椒江网站建设网络推广营销策划方案
  • 织梦 网站版权信息百度app免费下载
  • 网站建设方案 预算新品牌进入市场的推广方案
  • 产品展示网站开发苏州排名搜索优化
  • 网站做美工百度竞价关键词查询
  • 银川百度做网站多少钱杭州专业seo公司
  • 东莞气缸东莞网站建设广州排前三的seo公司