php 怎么打印sql,如何在mybatis中打印sql?
方法一:
在mybatis-config.xml中配置加一个setting
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<!-打印查询语句 -->
<setting name="logImpl" value="STDOUT_LOGGING" />
</settings>
</configuration>
如果是spring集成mybatis的话,在SQLSessionFactory配置好configLocation属性
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:conf/mybatis-config.xml"></property>
<!-自动扫描mapping.xml文件 -->
<property name="mapperLocations" value="classpath:com/jstudio/user/dao/*.xml"></property>
</bean>
方法二:
首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句
###显示SQL语句部分
log4j.logger.com.ibatis=DEBUG
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=DEBUG
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=DEBUG
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=DEBUG
log4j.logger.Java.sql.Connection=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
Sql语句求学生平均成绩?
1、打开数据库软件,附加数据库,右键选择新建查询。
2、用sql语句输出班级名称,附加项平均分,命令为select班级表.班级名称,avg(成绩)as平均分。
3、将学生表和班级表以班号关联,再将成绩表和学生表以学号关联。
4、数据表的关联一般用join的命令,命令为from学生表join班级表on班级表.班号=学生表.班号join成绩表on学生表.学号=成绩表.学号。
5、对班级名称进行分组,命令为groupby班级表.班级名称。
如何把xls格式转换成bak?
XLS格式和BAK格式是两种完全不同的文件格式,不能直接进行转换。
XLS格式是Microsoft Excel电子表格文件的标准文件格式,用于存储数据表格、图表、公式等内容。而BAK格式通常用于备份文件,是一种数据备份文件格式。
如果您需要将Excel电子表格文件备份,并将备份文件保存为BAK格式,可以按照以下步骤操作:
1. 打开需要备份的Excel电子表格文件。
2. 在Excel中,选择“文件”>“另存为”。
3. 在弹出的“另存为”对话框中,选择“所有文件”文件类型,并在文件名后面添加“.bak”后缀名,如“example.xls.bak”。
4. 点击“保存”按钮即可将Excel电子表格备份文件保存为BAK格式。
需要注意的是,BAK文件只是一种备份文件格式,不能直接用于打开或编辑,如果需要恢复数据,则需要先将BAK文件恢复为原始的XLS格式,并使用Excel打开编辑。
希望以上内容对您有所帮助。
springboot2集成mybatis?
在SpringBoot2集成Mybatis的过程中,如果出现sql异常没有提示的情况,可能是由于日志配置不当或者Mybatis配置不正确导致的。此时可以采取以下措施来解决问题:
1) 确认日志级别是否足够,可以在application.yml文件中添加以下内容:
logging:
level:
com.xxx.mapper: debug
其中com.xxx.mapper代表你的Mapper目录,debug级别可以输出详细的日志信息。
2) 在Mybatis的配置文件中配置showSql为true,例如:
mybatis:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
sqlSessionFactoryBeanName: mySqlSessionFactory
type-aliases-package: com.xxx.entity
default-fetch-size: 0
default-statement-timeout: 3000
cache-enabled: false
lazy-loading-enabled: false
aggressive-lazy-loading: true
multiple-result-sets-enabled: true
use-generated-keys: true
use-column-label: true
return-generated-keys: true
log-prefix: #mybatis-log
showSql: true
当showSql为true时,会在控制台输出完整的SQL语句,方便调试。
如何Excel中快速处理文字数据?
以下纯干货,务必好好消化~
1排版篇
1. 给他人发送 excel 前,请尽量将光标定位在需要他人首先阅览的位置,例如 Home 位置(A1),例如结论 sheet,长表尽量将位置定位到最顶端
2. 有必要的时候请冻结首行;没必要但可追究的内容,可以隐藏处理
3. 行标题、列标题加粗,适当处理文字颜色、填充颜色,利人利己
4. 占用空间比较小的表格,可以放置在左上角,但留空 A 列和 1 行,并给表格加上合适的框线,观感很不错哦~
5. 同类型数据的行高、列宽、字体、字号,求你尽量一致,非要逼死强迫症吗!
6. 定义好比较标准的格式,例如百分比预留几位小数,手机号的列宽设置足够,时间显示尽量本土化...
7. 不要设置其他电脑没有的字体,除非这个表格就在这一台电脑使用...
8. 参考一些官方的模板,例如微软 Office 官方在线模板网站,再例如 Mac 端 excel 打开就显示的各种模板,很多清单或者规划类的 excel 我都直接用这里面的,不需要重新设计
2操作篇
Alt+Enter 在表格内换行;
Ctrl+Shift+上/下,选择该列所有数据,当然加上左右可选择多列;
Ctrl+上/下,跳至表格最下方;
Ctrl+C/V,不仅仅复制表格内容,也可以复制格式和公式;
Ctrl+D/R,复制上行数据/左列数据;
还有个很好用的单元格格式转换,推荐大家用熟
(有点不清晰...当初偷懒直接把图片截到印象笔记的...)
Ctrl+F/H 的查找、替换,点击「选项」,可以替换某种格式等等,另一片天地有木有!
F4,对,你没看错,就是 F4!重复上一步操作,比如,插入行、设置格式等等频繁的操作,F4 简直逆天!
’(分号后面那个) 比如输入网址的时候,一般输入完会自动变为超链接,在网址前输入’就解决咯~
复制,选择性粘贴里面有几个非常好用的——仅值,转置(个人推荐用 transpose 公式)
公式里面切换绝对引用,直接点选目标,按 F4 轮流切换,例如 A1,$A$1,$A1,A$1;
快速填充能取代大部分有简单规律的分列、抽取、合并的工作。
3公式篇
1. if、countif、sumif、countifs、sumifs,这几个一起学,用于条件计数、条件求和
2. max、min、large,这几个一起,用于简单的数据分析
3. rand、randbetween,这俩一起,用于生成随机数,也可以用于生成随机密码(用 rand 配合 char 可生成中英文大小写随机的)
4. 定位类型的函数:MID、SEARCH、LEN、LEFT、RIGHT 一起学吧,简单但异常实用
5. 四舍五入个人偏好用 round 函数,举个简单例子,一列数据,2.04、2.03 并求和,显示保留 1 位小数,你会在界面上看到 2.0、2.0,求和却是 4.1,表格打印出来会比较让人难理解
6. subtotal:用于对过滤后的数据进行汇总分析
7. sumproduct:返回一个区域的乘积之和,不用 A1*B1 之后再下拉再求和
8. Vlookup 函数,这个不多说了,神器;另外推荐 lookup 函数: LOOKUP(1,0/(条件),查找数组或区域)
9. offset 函数,常用于配合其他函数使用,例如想将 10*20 的表中的每行复制成 3 行按原顺序变成 30 行:=OFFSET($A$1,INT((ROW(A1)-1)/3),COLUMN(A1)-1,1,1) 下拉,由于不用到列,所以等同于=OFFSET($A$1,INT((ROW(A1)-1)/3),0),我当初是这么做笔记的:=(A1,向下偏移(向下取整(行数-1)/3),向右偏移0)
10. text,例如 19880110 text(A1,"0-00-00"),转为 1988-01-10,用法很多
11. weekday,让你做时间计划表什么的时候,把日期转为“星期 X”
12. column(目标单元格),返回目标单元格所在列数,有时候真的很好用...
13. transpose(目标区域),神奇的转置,把行变成列,把列变成行...
14. &,可在目标单元格后面增加某些字符,偶尔用(我这种强迫患者用的是 concatenate 公式,我特么有病!)
15. 数组,虽然复杂,但是有的公式配上数组简直爽爆
16. 多百度,例如曾经碰到一个难题,把 X 分 X 秒,转为 X 秒,例如 172 分 52 秒,百度半天得到的公式:=IF( IFERROR( FIND( "分", $E2 ), 0) > 0, LEFT( $E2, FIND( "分", $E2 ) 1 ) * 60 + IFERROR( MID( $E2, FIND( "分",$E2 ) + 1, FIND( "秒", $E2 ) FIND( "分", $E2 ) 1 ), 0 ), LEFT( $E2, FIND( "秒", $E2 ) 1 ) * 1 ) 度娘很厉害的(评论里面直接用=TEXT(SUBSTITUTE(SUBSTITUTE("00:"&A1,"秒",""),"分",":"),"[s]"),把文本转为时分秒的标准格式再转秒,确实是更好的方法)
4图表篇
不同的场景请用不同的图,转个非常精髓的图:
数据透视表、数据透析图,嗯嗯,推荐的人太多了…
图标设计——布局,灵活运用好多类型数据时的「次坐标轴」
选择数据——右键——更改图标类型,灵活在一张表上结合起来柱状图和折线图
5技巧篇
1. 数据——分列,将列内的数据拆分成多列,比如“XXX 省 XXX 市”,拆成省、市两列,“XX 小时 XX 分钟”拆成时、分两列,可以按照宽度、文本、标点等作为界定进行拆分,非常多的场景会使用到,请优先学会。
2. 如果你不是靠 excel 吃饭,请不用那么 geek,而是学会 excel 的逻辑——配合简单的公式、排序、替换、if 等全局操作能得出的结果,不一定非要用一个长公式然后下拉,举例:
如何将无规律的一列上下翻转?
创建一列,标上1、2、3……,下拉,以该列为主排序,改升序为降序,扩展目标列,得到结果,之后可以删掉创建的辅助排序列。
如何将目标区域的每一行数据下面插入一条空行?
创建一列,标上1、2、3……,下拉,下面空白行标上1.5、2.5、3.5……下拉,同理排序~Tada~
3. 条件格式——突出显示单元格规则,里面的「重复值」,在实时录入和检查标记时很实用
4. 在条件允许的情况下,升级到 office 2013 吧,excel 2013 比 2010 好到爆啊!比如新增的 sumifs、averageifs 等多条件 if,比如选择一个区域,右下角小标「快速分析」自动生成数据条、色阶、柱形图、汇总图、透视表、折线图等等啊,秒中出啊有木有!
6插件篇
1. Power Map:在线地图+在线演示+制作视频,随便来个中国壕热力图
当然,也有柱状图:
默认配色就很不错,而且演示的时候点击时会直接按你点击的类型帮你显示对应的数据(例如上面的堆积柱状图)
2. Power Query:这个用法很多,我主要用于以下两点:
在线 Web 抓取:不需要学会某个编程语言也能爬虫+分析一些简单数据,随便举个例子输入新浪股票的网址,它自动帮忙抓取到 N 个表,我随便打开一个:
连接数据库:不需要学会 SQL 语法也能查询+分析数据库内的数据,这个就不方便截图了。
打比方说,常见的 select * from ... where xxx = xxx and xxx>xxx group by xxx这种 sql 语法查询的内容,可以在 Power Query 中直接通过点击、筛选等操作就列出来
3. 各种 excel 工具箱,这个不多介绍了,不常用,也就不打广告了,但是挺适合部分长期使用 excel 的职场人士使用
4. SmartArt 也是一大神器,我终于不用在 Ai 或者 PPT 上作图再粘过来了...
7数据可视化篇
常见的数据可视化工具不再赘述,在知乎里面一搜一大把,我的经验不算多,但是单独加这个分类是想强调数据可视化的重要性,以及我对数据可视化的理解,希望大家结合下面的内容再去看其它答案的数据可视化工具:
1. 要「正确」地理解数据可视化,一切不以帮助理解数据为目的的可视化都是耍流氓,例如
倒腾半天用各种花哨工具做出来的酷炫效果(也包括一些可视化工具的网站),砸 UI 饭碗
本来需要输出的是给其它部门的数据报表,自以为是地加上可视化,请做好本职工作
桑基图、箱线图、雷达图用的很溜,但实际 Boss 只想用看(或者只会看)熟悉的柱状图、折线图、饼图
2. 我认为的『正确』的数据可视化是:
易理解的。选择正确的表达形式,适合用柱状图就别用散点图,也别用那些受众人群不好理解的特殊用图
可维护的。改了一点数据或者下次有类似报表再做不要花重复的时间再来一次
有标准的。在同一工作范畴内选择尽量标准一致性的数据可视化效果,坐标、图例、筛选尽量统一,所以也不推荐一个报告用到多种可视化工具
3. 一些个人技巧
个人分析使用 excel 自带透视图,后台用的 inspinia 模板 + echarts (另外补充,echarts-x 很好用但很多人不知道),写报告用图说,商业数据分析用 Tableau,另外觉得 GA 和 umeng 的可视化做的不错可以学习借鉴
有时候看到数据维度多的时候,觉得用什么图都不合适,我会先看 echart 图例再往回看适用具体哪种
思维不要固化在柱状图、折线图、饼图,多看多学才能横向拓宽自己的知识面
大部分后台需求是可以用图来表达的,密密麻麻的数据表格会让人无法第一时间抓到重点,不要吝啬开发的时间
补充上条,为了数据表格能随时导出,在可视化表达之后,也考虑是否要把表格补充进来,这点我觉得 umeng 做的真的很好
8其它篇
1. 不会写宏没关系,要懂得怎么使用别人的宏(自行百度“excel 宏大全”吧~),怎么保存 xlsm ,怎么录制宏。当你把机械化的一套操作通过录制宏实现,并用 xlsm 配合 auto_open 自动操作,眼看表格自动化操作,在两秒内给你返回原来每天固定要做十几分钟的数据分析结果时,那个鸡皮疙瘩...
2. 有时间推荐泡泡 excel 的论坛,excelhome 什么的,神人太多了....
3. excel 满足不了你,又懂编程,想秀逼格的,请右转百度 SPSS