log4j

MySql查询所有字段不为空值的数据及Mybatis的#号和$符的区别引起的问题

回眸只為那壹抹淺笑 提交于 2020-08-11 05:33:26
1.MySql查询所有字段不为空值的数据 搜了一上午搜不到,最后用Mybatis的foreach标签,先查询出表字段, SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE table_name='lltest' 然后传入了另一条SQL中,使用foreach标签完成了这个操作。 <select id ="getNotNullData" resultType ="com.example.bean.LlTest" > SELECT * FROM lltest WHERE <foreach collection ="list" open ="" close ="" separator ="AND" item ="item" > ${item} IS NOT NULL </foreach> </select> 2.#号和$符号的区别 在使用foreach的时候,发现使用#号来获取字段名时,查询到的结果跟mysql直接查询的结果不一样,会查询出所有数据,感觉没有条件限制。 这个原因是#号会把获取到的值加上双引号,当字符串来使用,而我循环的是字段名,字段名不能用双引号。改为$符号就可以了。 #相当于对数据 加上 双引号,$相当于直接显示数据 3.对比: ###使用#号时log4j打印的SQL语句 SELECT * FROM

SSM框架搭建最新教程(超详细)

与世无争的帅哥 提交于 2020-08-10 19:55:13
个人认为使用框架并不是很难,关键要理解其思想,这对于我们提高编程水平很有帮助。不过,如果用都不会,谈思想就变成纸上谈兵了!!!先技术,再思想。实践出真知。 1、基本概念 1.1、Spring Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 1.2、SpringMVC Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 1.3、MyBatis MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation

spring boot系列(五)集成Druid数据源

让人想犯罪 __ 提交于 2020-08-09 05:58:17
数据库连接池 连接池的思想就是建立一个"缓存池",预先存放一定数量的连接,当需要建立数据库连接时,就从"缓存池"中取出一个,用完之后再放入池中。 连接池是怎么管理、分配连接对象呢? 使用一个"空闲池"管理已经被创建但未被使用的连接,当有一个新的连接请求时,首先再"空闲池"中寻找空闲的连接对象,如果池中有空闲连接对象,就把空闲时间最长的那个连接对象取出来分配(前提是这个对象是有效的),如果这个对象不可用,就将其从"空闲池"中删除,重新检测。如果没有检测到可用连接,则判断当前连接数是否达到最大连接数,如果没有,则创建新的连接,如果达到最大连接数,则进入等待。如果在等待的时间内,检测到可用的连接,则进行分配,如果超时还未检测到可用连接,则返回null。系统只对所创建的连接进行计数统计,对于检测可用连接,可开辟线程(提示响应速度,增加系统开销)、也可在分配前进行检测。 Druid Durid是阿里开源的JDBC应用组件,包括三部分: DruidDriver:代理Driver,能提供基于 Filter-Chian 模式的插件系统 DruidDataoSource:高效可管理的数据库连接池 SQLParser:SQL语法分析 通过Druid连接池中间件,可以实现: 可监控的数据库访问的性能,Druid提供了一个强大的StatFilter插件,能详细的统计SQL执行性能

使用IDEA实现SSM整合(Maven+Spring+Mybatis+SpringMvc)

二次信任 提交于 2020-08-09 04:06:53
我是阿福,公众号「阿福聊编程」作者, 一个在后端技术路上摸盘滚打的程序员 ,在进阶的路上,共勉! 文章已收录在 JavaSharing 中,包含Java技术文章,面试指南,资源分享。 本文是基于Maven工程实现SSM整合,主要是通过XML实现三大框架的整合,可能有的小伙伴会说XML早就过时了,现在人们都使用注解开发,但是不是这么认为,我个人觉得你XML 整合会了,注解能不会吗? 开干!!!! SSM整合总体思路 Spring和MyBatis整合 整合JAR包 <dependencies> <!-- Spring依赖 --> <!-- https://mvnrepository.com/artifact/org.springframework/spring-orm --> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>4.3.2.RELEASE</version> </dependency> <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <groupId>org.springframework<

狂神说SpringBoot08:整合Druid

筅森魡賤 提交于 2020-08-09 02:43:30
狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习。 微信公众号:狂神说(首发) Bilibili:狂神说Java(视频) 未经作者授权,禁止转载 集成Druid Druid简介 Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。 Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。 Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。 Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀的数据源,我们来重点介绍 Spring Boot 如何集成 Druid 数据源,如何实现数据库监控。 Github地址: https://github.com/alibaba/druid/ com.alibaba.druid.pool.DruidDataSource 基本配置参数如下: 配置数据源 1、添加上 Druid 数据源依赖。 <!-- https://mvnrepository.com

框架修炼之ssm-Mybatis学习笔记一

会有一股神秘感。 提交于 2020-08-08 18:06:57
早期ssh框架:spring struts2 hibernate. 目前使用ssm:spring(service) springMVC(servlet) mybatis(jdbc DbUtil) JDBC回顾 1 准备数据库tb_user @Test public void test ( ) throws Exception { // 1 加载驱动 Connection connection = null ; PreparedStatement Statement = null ; ResultSet resultSet = null ; try { Class . forName ( "com.mysql.jdbc.Driver" ) ; // 2 获取连接 connection = DriverManager . getConnection ( "jdbc:mysql://localhost:3306/mybatis" , "root" , "1234" ) ; // 3 获取preparestatement String sql = "select * from tb_user where id = ?" ; Statement = connection . prepareStatement ( sql ) ; // 4 设置参数 Statement . setLong (

Spring Boot 各种日志框架记录方式

假如想象 提交于 2020-08-08 14:31:04
1、常用日志框架比较 对于我们日常开发日志是经常使用的,Commons Logging是Spring Boot在所有内部日志中使用,但是默认配置也提供了对常用日志的支持,Log4J, Log4J2和Logback。 1.1 slf4j 门面模式,其核心为 外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用 。结构如图: 门面模式的核心为Facade即门面对象,门面对象核心为: 知道所有子角色的功能和责任 将客户端发来的请求委派到子系统中,没有实际业务逻辑 不参与子系统内业务逻辑的实现 slf4j是门面模式的典型应用, slf4j只是一个日志标准,并不是日志系统的具体实现, 需要和具体的日志框架实现配合使用(Log4J, Log4J2,Logback)。 slf4j只做两件事: 提供日志接口 提供获取具体日志对象的方法 我们为什么要使用slf4j,举个例子: 在开发中,我们经常会使用到之前的类库,或者别人写的类库,使用的日志记录框架和自己本身的不一致,如果我需要使用到,就得维护两套日志配置,维护成本上升,不划算。 使用日志接口便于更换为其他日志框架。 log4j、logback、log4j2都是一种日志具体实现框架,所以既可以单独使用也可以结合slf4j一起搭配使用 1.2 log4j Log4j有三个主要的组件:Loggers(记录器),Appenders

java Spark 读取hbase数据

≡放荡痞女 提交于 2020-08-07 06:16:41
引用的jar包(maven) <properties> <java.version>1.8</java.version> <ch.qos.logback.version>1.2.3</ch.qos.logback.version> <sharding-sphere.version>4.1.1</sharding-sphere.version> <spark.version>2.4.6</spark.version> <hbase.version>2.3.0</hbase.version> <hadoop.version>2.7.4</hadoop.version> </properties> <!-- Spring HBase 依赖 --> <!--==================hadoop ===================--> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>${hadoop.version}</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <

java的ssm框架整合(一)

怎甘沉沦 提交于 2020-08-06 05:18:18
目前 java 的三大框架整合比较热门的是 spring+springMVC+mybatis 。今天我使用 maven 来搭建 ssm 框架实现简单的增删改查。本人也是小白一枚,算是对自己的一次总结吧。大神们勿喷 …… 关于 maven 的使用,可以自行百度 ~~~~~~~~ 创建 maven 项目以及首次运行项目时暂时发现可能会遇到几个问题,在这里说明一下。 1. 创建 maven 项目后,只有 src/main/resource 这一个目录,正确的是三个类似这样的目录? 解决办法:右击项目名 -->Build Path-->configure Build Path…---> 找到 Libraries---> 然后双击弹出 Edit Library 框,选择 Alternate JRE -->finish--->ok 即可 2.maven 项目中的 jsp 文件报错,出现红叉? 解决办法:右击项目名 -->Build Path-->configure Build Path…---> 找到 Libraries---> 选择 Add Library…--> 选中 Server Runtime ---->next ---->Apache Tomcat v7.0 ---finish-->ok 即可 3. 将配置文件以及需要的 jar 包全部放入后,项目名报错,出现红叉? 解决办法

Mybaties简单实例测试及注意问题

橙三吉。 提交于 2020-08-05 22:09:38
IDEA下一个简单的mybaties测试程序,适合初学者阅读。 目录结构及lib: 在src>main>java 下 根据数据库表创建实体类:com.itheima.domain.User 注意:表字段名和实体属性要对应一致 package com.itheima.domain; import java.io.Serializable; public class User implements Serializable { private Integer id; private String sname; private Integer age; private String sex; private String phone; private Integer javascore; private String birth; public Integer getId() { return id; } public void setId(Integer id) { this .id = id; } public String getSname() { return sname; } public void setSname(String sname) { this .sname = sname; } public Integer getAge() { return age; }