mybatis官方文档(连接数据库出错的日志为什么没有输出到日志文件中)
本文目录
连接数据库出错的日志为什么没有输出到日志文件中
你好,项目采用SpringMVC+Mybatis的架构,日志工具还是最常用的log4j,整合了其他框架之后,发现无法打印SQL语句,然而项目中的显示调用日志却可以正常打印出来,还有当SQL拼写有错误的时候会打印出来然后开始看Mybatis的官方文档,关于日志这一块是怎么处理的最近Mybatis有中文文档了,虽然不全,不过已经很好了,这里面发现了项目中存在的问题。项目中引入了shiro框架,集成了slf4j日志,导致了Mybatis无法引用log4j的配置文件打印SQL语句问题原因:这个是Mybatis默认查找日志的顺序,自上而下,也就是说,如果项目中有前面3个日志框架时,对于Mybatis,log4j就不会生效SLF4JApacheCommonsLoggingLog4j2Log4jJDKlogging解决法:在MyBatis的配置文件mybatis-config.xml里面添加一项setting来指定log4jlog4j中对指定内容进行输出,其中example为包名,可以继续细化处理log4j.logger.example=DEBUG
mybatis批量插入时如何去除集合为空的情况
……values(#{username, jdbcType=VARCHAR}, #{age, jdbcType=NUMBER}) 在所有可能为空的字段后面加jdbcType=XXX, XXX是这个值的数据类型,比如我上面插入的username是字符串,可能为空,所以加入jdbcType= VARCHAR, 至于jdbcType有哪些类型你可以查看myBatis API 官方文档,上面写的很清楚
什么是mybatismybatis的优点是什么
优点
简单:易于学习,易于使用,通过文档和源代码,可以比较完全的掌握它的设计思路和实现。
实用:提供了数据映射功能,提供了对底层数据访问的封装(例如ado.net),提供了DAO框架,可以使我们更容易的开发和配置我们的DAL层。灵活:通过sql基本上可以实现我们不使用数据访问框架可以实现的所有功能,或许更多。
功能完整:提供了连接管理,缓存支持,线程支持,(分布式)事物管理,通过配置作关系对象映射等数据访问层需要解决的问题。提供了DAO支持,并在DAO框架中封装了ADO.NET,NHibernate和DataMapper。
增强系统的可维护性:通过提供DAL层,将业务逻辑和数据访问逻辑分离,使系统的设计更清晰,更易维护,更易单元测试。sql和代码的分离,提高了可维护性。
缺点
滞后性:还没有明确对.NET2.0的支持。最新版本在2.0下编译可以,但有些单元测试不能通过。
不成熟,工程实践较少:IbatisNet在实际项目中的使用较少。 只是理论上可行.
半ORM,工具支持较少:需要我们自己写sql,并且.NET下还未发现可以自动生成业务层类和配置文件的工具,这点和NHibernate不一样,NHibernate会为我们的数据库直接产生sql,并有一些辅助工具。因此使用Ibatis比NHibernate要多做一些工作。
更多文章:
输入单号查快递自动识别(4种物流单号查询平台 怎么查询快递单号物流信息)
2024年7月8日 09:05
盛世霸业怎么练级比较快 新手升级技巧?盛世霸业手游怎么赚钱 盛世霸业赚钱小技巧分享
2024年6月28日 20:29
在东北农村有句老话叫“车轱辘响萝卜长”,萝卜真的不怕冻吗?什么是智能萝卜车
2024年7月2日 19:35