关于在MyBatis中时间比较的问题

在MySQL数据库中字段是TimeStamp类型的,在MyBatis的Mapper中传入参数是java.util.Date类型的,怎么实现日期的比较?我试过直接用大于大小比较不对,都转化为unix时间戳再比较也不对,最后把传入参数改为日期格式的String比较然后对了。

5个回答

1.数据库时间为TimeStamp 传入的参数为 java.util.Date (需要转义)

 <if test="startDate != null">AND d_create_date &gt;= #{startDate}</if>

2.数据库时间为TimeStamp 传入的参数为 String

 <if test ="startDate != null" >AND d_create_date &gt;=  to_date(#{startDate},'yyyy-MM-dd HH:mm:ss')</if>
```(时间to_date)



mryang125
Alphathur 转义是因为没有加<![CDATA[ ... ]]>,你这个答案根本就没有理解楼主的意思
2 年多之前 回复
u014750748
海带七哥 用to_date会报这个楼下的错误,楼下我发截图了
接近 3 年之前 回复

图片说明
用to_date会报这个错

报同样的问题,该问题是怎么解决的

MYSQL的string转datetime,可以试下图片说明

xionglangs
编程爱好者熊浪 你不会把每mybaits的参数date转换为string啊
接近 3 年之前 回复
u014750748
海带七哥 我传入的本身就是Date类型的,用这个函数转换的话转化后的值就变为null了
接近 3 年之前 回复

1.数据库时间为TimeStamp 传入的参数为 java.util.Date AND d_create_date >= #{startDate}(需要转义)
2.数据库时间为TimeStamp 传入的参数为 String AND d_create_date >= to_date(#{startDate},'yyyy-MM-dd HH:mm:ss') 你试试吧。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于Mybatis查询时间精确度的问题
![图片说明](https://img-ask.csdn.net/upload/201904/07/1554610148_239557.png) 它怎么精确到秒后面去了,而且时间类型是timestamp,我数据库的时间类型是date类型,导致查询结果为空,该怎么转换?
mybatis读取mysql的datetime类型字段时间错误
我用mybatis读取mysql中的一个字段类型为datetime的数据时,读出来的时间总是比实际的时间多了14个小时 ,有人知道是怎么回事吗?
关于mysql的与spring一些事务和mybatis的一些问题!
使用mysql的innoDB的事务释放行级锁的时间不是比spring释放行级锁的时间更短吗!那干嘛还用spring 的事务啊!还有就是我在mybatis配置时的一些问题!用的mapperscannerconfigurer的basepackage的value!要是dao接口和dao的xml的在一个包下就没问题!分开无论是哪个包都会包错!不能放开放吗!小弟刚接触不久!望大神解答!
mybatis中的now()函数是获取的的什么时间
默认天数减掉2,时间的规律没有看出来。 select now(); now()函数到底是获取的什么时间
mybatis sql执行时间明显大于Navicat中执行时间(mysql)
select time, servertime, status from base_t1000000000228 where servertime>='2017-10-16 00:00:00' and servertime<='2017-10-16 23:59:59' and time<'2017-10-16 00:00:00' order by time asc 在Navicat中只要1秒不到,但是mybatis却需要将近10秒 base_t1000000000228表数据量有791875条,time是主键;没有创建索引。
mybatis如何对时间进行比较
数据库的格式是timestamp格式的,实体类是一个Date,如何取出今天当天的数据,
spring、mybatis整合遇到的问题
单元测试报错: Invalid bound statement (not found): com.cn.mysite .mybatisdemo.dao.IUserDao.queryUserList 下面相关代码和配置文件: 1、先放上结构图: ![图片说明](https://img-ask.csdn.net/upload/201706/13/1497331060_144583.png) 2、spring-mybatis.xml配置文件代码如下: <!-- 自动扫描 --> <context:component-scan base-package="com.cn.mysite.mybatisdemo" /> <!-- jdbc配置文件导入 --> <context:property-placeholder location="classpath:jdbc.properties"/> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- 连接池配置 --> <property name="driverClassName" value="${database.driverClassName}"/> <property name="url" value="${database.url}"/> <property name="username" value="${database.username}"/> <property name="password" value="${database.password}"/> <!-- 初始化连接大小 --> <property name="initialSize" value="0"></property> <!-- 连接池最大数量 --> <property name="maxActive" value="20"></property> <!-- 连接池最大空闲 --> <property name="maxIdle" value="20"></property> <!-- 连接池最小空闲 --> <property name="minIdle" value="1"></property> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="30000"></property> </bean> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mapperLocations" value="classpath*:com/cn/mysite/mybatisdemo/mapping/*.xml"/> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.cn.mysite.mybatisdemo.dao" /> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/> </bean> ``` ``` 3、IUserDao接口代码: public interface IUserDao { List<User> queryUserList(); } ``` 4、mapping中xml映射文件: <?xml version="1.0" encoding= "UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" > <mapper namespace= "com.cn.mysite.mybatisdemo.dao.IUserDao" > <resultMap type ="com.cn.mysite.mybatisdemo.model.User" id="usermap"> <result property ="id" column="id" /> <result property ="name" column="name" /> <result property ="age" column="age" /> <result property ="email" column="email" /> <result property ="address" column="address" /> </resultMap> <!-- 查询所有用户记录 --> <select id ="queryUserList" resultMap= "usermap"> select * from person </select > </mapper> 5、测试类: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = {"classpath:spring-mybatis.xml"}) public class MybatisTest { @Resource private IUserDao dao; @Test public void test() { dao.queryUserList(); System.out.println("Hello World!"); } } 单元测试就开始报错,请大家帮看一下是哪一步出错了,感觉好奇怪啊,实在查不出问题了
spring和mybatis整合时出现的找不到文件异常问题
报错信息是:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from class path resource [spring-mybatis.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring-mybatis.xml] cannot be opened because it does not exist 求各位帮帮忙,谢谢你们抽出时间帮我。怎么解决?我明明有spring-mybatis.xml这个文件啊。
mybatis+springMVC的传参问题?
先描述一下需求…… 我需要在JSP前端通过 input type=date 传入两个日期参数,然后查询出下表这2个日期之间的内容 比如传入 2017-10-1和2017-10-3 这样 > /* Table: tbl_paymoney 付款表 / /==============================================================*/ create table tbl_paymoney ( pay_id NUMBER(20) not null, bat_id NUMBER(20), pay_account NUMBER(10,2), pay_pays NUMBER(10,2), pay_state VARCHAR2(20), pay_date DATE, constraint PK_TBL_PAYMONEY primary key (pay_id) ); comment on table tbl_paymoney is '付款表'; comment on column tbl_paymoney.pay_id is '付款ID'; comment on column tbl_paymoney.bat_id is '批次ID'; comment on column tbl_paymoney.pay_account is '赊账'; comment on column tbl_paymoney.pay_pays is '已付款金额'; comment on column tbl_paymoney.pay_state is '状态'; comment on column tbl_paymoney.pay_date is '日期'; > 先贴出报错吧 ``` 开始日期=2017-10-01 结束日期=2017-10-03 ipm date1=2017-10-01 ipm date2=2017-10-03 十月 06, 2017 10:53:33 上午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [springmvc] in context with path [/MedicalExaminationSystem] threw exception [Request processing failed; nested exception is org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.great.dao.UserDao.querySumMoney] with root cause org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.great.dao.UserDao.querySumMoney ``` 这个是action的接收类 ``` @Controller public class ReportAction { @Autowired IReportService Service; @RequestMapping("/getPayM") // 通过两个日期查询两个日期内的金额 public ModelAndView GetPayMoney(Date date1, Date date2) { ModelAndView modelAndView = new ModelAndView("Report"); System.out.println("开始日期=" + date1); System.out.println("结束日期=" + date2); List<PayMoney> list=Service.querySumMoney(date1, date2); System.out.println("跳转信息发送到界面" + list); if (list != null) {// 判断不为空跳转 System.out.println("返回"); modelAndView.addObject(list); return modelAndView; } else { return modelAndView; } } } ``` 这个是接口 ``` public interface IReportService { public List<PayMoney> querySumMoney(Date date1,Date date2); ``` 这个是实现类 这里的sys测试就打印不出来了 ``` @Service public class ReportServiceImp implements IReportService{ @Autowired private UserDao UserDao; @Override public List<PayMoney> querySumMoney(Date date1, Date date2) { System.out.println("ipm date1="+date1); System.out.println("ipm date2="+date2); List<PayMoney> list=UserDao.querySumMoney(date1, date2); System.out.println("测试"+list); if (list != null) { return list; } return null; } } ``` userdao ``` @Repository public interface UserDao { public List<PayMoney> querySumMoney(Date date1,Date date2);//通过日期查询付款表内容 } ``` 接下来是mapper 这里我感觉应该就是问题的源泉…… 里面的pay_date1和2我感觉问题比较大…… ``` <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.great.dao.UserDao"> <select id="querySumMoney" resultType="com.great.entity.PayMoney" parameterType="com.great.entity.PayMoney" resultMap="BaseResultMap"> select sum(pay_account+pay_pays) from TBL_PAYMONEY where to_char(tbl_paymoney.pay_date,'yyyy-mm-dd') between '#{pay_date1,jdbcType=DATE}' and '#{pay_date2,jdbcType=DATE}'; </select> </mapper> ``` 最后是bean ``` public class PayMoney { private Integer pay_id;// 付款ID private Integer bat_id;// 批次ID private Integer pay_account;// 赊账 private Integer pay_pays;// 已付款金额 private String pay_state;// 状态 private Date pay_date1;// 日期1 private Date pay_date2;// 日期2 public PayMoney() { super(); } public PayMoney(Integer pay_id, Integer bat_id, Integer pay_account, Integer pay_pays, String pay_state, Date pay_date1, Date pay_date2) { super(); this.pay_id = pay_id; this.bat_id = bat_id; this.pay_account = pay_account; this.pay_pays = pay_pays; this.pay_state = pay_state; this.pay_date1 = pay_date1; this.pay_date2 = pay_date2; } 下面的tostring和getset就不贴了 ``` 原本只有一个date,因为老是找不到问题所以我自己改成了date1和date2但果然还是不行…… 看了好几天感觉是mapper的语句有问题……但是在orcal上运行时可以查询到的……这里就很费解了,希望大大们能帮帮忙解解惑学校项目时间要到期了T_T
mybatis映射文件使用oracle函数问题
_昨天使用mybatis,xml里面模糊查询使用了concat连接两个%,查询报错! 后来在java代码传值的时候,先拼接%查询出来了,今天使用between和to_date,查询两段时间之间的数据又报错! 不知道怎么解决了,望大牛解惑一下。 sql语句都没问题在PLSQL跑过。sql如下: SELECT COUNT(*) FROM 表名 WHERE FZM LIKE #{参数} AND (ZWSJ BETWEEN TO_DATE( #{参数} ,'yyyy-mm-dd hh24:mi') AND TO_DATE( #{参数},:00','yyyy-mm-dd hh24:mi')); _**
旅行社项目 用mybatis
mybatis 框架 做旅行社, 同一个产品信息, 在不同的时间, 价格不同 做么做? 求前辈解答, 十分感谢
mybatis怎么进行时间段查询
![图片说明](https://img-ask.csdn.net/upload/201706/11/1497147518_329617.png)![图片说明](https://img-ask.csdn.net/upload/201706/11/1497147529_699692.png)![图片说明](https://img-ask.csdn.net/upload/201706/11/1497147538_11269.png)![![图片说明](https://img-ask.csdn.net/upload/201706/11/1497147550_210808.png)图片说明](https://img-ask.csdn.net/upload/201706/11/1497147545_630478.png)
问一个springmvc+quartz+mybatis的问题
我写好框架后,也能启动,但是用demo例子调用工作类,数据写不到数据库中,在其他项目中没用mybatis却可以 但是又不能不用mybatis,怎么办啊,是不是两个会冲突 这个是spring-quartz ``` <bean id="QuartzJobFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" > <!-- <property name="dataSource"> <ref bean="ddlibserveDataSource" /> </property> --> <!-- <property name="schedulerName" value="Mscheduler" /> --> <property name="configLocation" value="WEB-INF/resource/quartz.properties" /> <property name="applicationContextSchedulerContextKey" value="applicationContextKey" /> <property name="autoStartup" value="true" /> </bean> </beans> ``` 这个是mybatis的配置 ``` <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="WEB-INF/resource/db.properties" /> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driver}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> <!-- 初始化连接大小 --> <property name="initialSize" value="${initialSize}"></property> <!-- 连接池最大数量 --> <property name="maxActive" value="${maxActive}"></property> <!-- 连接池最大空闲 --> <property name="maxIdle" value="${maxIdle}"></property> <!-- 连接池最小空闲 --> <property name="minIdle" value="${minIdle}"></property> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="${maxWait}"></property> </bean> ```
Mybatis 数据库查询 时间格式
使用的是oracle数据库,数据查找时间显示如下: ![图片说明](https://img-ask.csdn.net/upload/201611/15/1479180154_993971.jpg) 数据库存储的时间为 存的是 date ![图片说明](https://img-ask.csdn.net/upload/201611/15/1479180284_899675.jpg) 怎样把时间格式显示成 2016/11/14 12:20:33 这种的
mybatis——java.util.HashMap cannot be cast to 。。。?
![图片说明](https://img-ask.csdn.net/upload/201911/15/1573808839_31171.png) ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573808853_597304.png) ![图片说明](https://img-ask.csdn.net/upload/201911/15/1573808864_680131.png) 我按照网上的教程写了个mybatis的测试代码 但是在遍历的时候报错了 查了下,好像是类型转换的问题 我改了代码,可以执行,但是一时间想不到有好的遍历的方法。 想请教大神,像这种情况,有没有别的办法可以遍历呢?
mysql+mybatis sql语句返回乱码
请教一个问题:mysql+mybatis sql 语句中用了CONCAT 方法来拼接两个时间类型的字段: ![图片说明](https://img-ask.csdn.net/upload/201611/22/1479804094_180032.jpg) ![图片说明](https://img-ask.csdn.net/upload/201611/22/1479804563_586839.jpg) 运行sql语句后效果显示正常: ![图片说明](https://img-ask.csdn.net/upload/201611/22/1479804172_816193.jpg) 但是在程序中返回的数据格式是错误的: ![图片说明](https://img-ask.csdn.net/upload/201611/22/1479804453_871112.jpg) 按说返回String类型的字段后应该没有问题的,不知为何错误
spring+mybatis 碰到了一个问题
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/mvc" > <!-- mybatis相关配置 --> <!-- 自动扫描 --> <context:component-scan base-package="com.saicmotor.dam"/> <!-- 引入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="classpath:dbconfig.properties"/> </bean> <!-- 数据库 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value="${username}"/> <property name="password" value="${password}"/> <!-- 初始化连接大小 --> <property name="initialSize" value="${initialSize}"></property> <!-- 连接池最大数量 --> <property name="maxActive" value="${maxActive}"></property> <!-- 连接池最大空闲 --> <property name="maxIdle" value="${maxIdle}"></property> <!-- 连接池最小空闲 --> <property name="minIdle" value="${minIdle}"></property> <!-- 获取连接最大等待时间 --> <property name="maxWait" value="${maxWait}"></property> </bean> <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <!-- 自动扫描mapping.xml文件 --> <property name="mapperLocations" value="classpath:com/saicmotor/dam/mapping/*.xml"></property> </bean> <!-- DAO接口所在包名,Spring会自动查找其下的类 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.saicmotor.dam.dao"/> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"/> </bean> </beans> 这个是spring-mybatis.xml 问题是在IDEA里面,单元测试junit,提示下面错误 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:com/saicmotor/dam/mapping/*.xml]: class path resource [com/saicmotor/dam/mapping/] cannot be resolved to URL because it does not exist at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:564) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:128) at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60) at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:108) at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:251) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116) ... 24 more Caused by: org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:com/saicmotor/dam/mapping/*.xml]: class path resource [com/saicmotor/dam/mapping/] cannot be resolved to URL because it does not exist at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:608) at org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:615) at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:216) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1577) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1536) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ... 38 more Caused by: java.lang.IllegalArgumentException: Could not resolve resource location pattern [classpath:com/saicmotor/dam/mapping/*.xml]: class path resource [com/saicmotor/dam/mapping/] cannot be resolved to URL because it does not exist at org.springframework.core.io.support.ResourceArrayPropertyEditor.setAsText(ResourceArrayPropertyEditor.java:116) at org.springframework.beans.TypeConverterDelegate.doConvertTextValue(TypeConverterDelegate.java:468) at org.springframework.beans.TypeConverterDelegate.doConvertValue(TypeConverterDelegate.java:441) at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:199) at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:588) ... 44 more
spring+mybatis 频繁出现数据库连接失败问题,mysql timeout时间设长也无效
mysql会频繁的出现以下异常,以为是mysql的8小时超时问题,根据网上说的,已经把mysal的time_out时间设到很大了。但是貌似没有效果。 wait_timeout=2147483 interactive_timeout=2147483 请问哪位知道以下问题的原因吗 以下数据源的配置 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <!-- Connection Info --> <property name="driverClassName" value="${jdbc.driverClassName}" /> <property name="url" value="${jdbc.url}" /> <property name="username" value="${jdbc.username}" /> <property name="password" value="${jdbc.password}" /> <!-- Connection Pooling Info --> <property name="maxActive" value="${dbcp.maxActive}" /> <property name="maxIdle" value="${dbcp.maxIdle}" /> <property name="defaultAutoCommit" value="false" /> <property name="timeBetweenEvictionRunsMillis" value="3600000"/> <property name="minEvictableIdleTimeMillis" value="3600000"/> </bean> jdbc.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true jdbc.username=admin jdbc.password=12345678 dbcp.maxActive=200 dbcp.maxIdle=200
已有用户的实体类对象,请问怎么实现使用Mybatis打印:哪个用户在什么时候执行了什么sql 这样的日志格式?
根据网上资料我写了一个mybatis拦截器如下: ``` @Override public Object intercept(Invocation invocation) throws Throwable { if (log.isInfoEnabled()) { log.info("进入 LogUtil 拦截器..."); } long startTime = System.currentTimeMillis(); MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0]; Object parameter = null; if (invocation.getArgs().length > 1) { parameter = invocation.getArgs()[1]; } BoundSql boundSql = mappedStatement.getBoundSql(parameter); Configuration configuration = mappedStatement.getConfiguration(); Object returnVal = invocation.proceed(); // 获取sql语句 String sql = getSql(configuration, boundSql); String params = getParams(configuration, boundSql); String oldSql = boundSql.getSql().replaceAll("[\\s]+", " "); printLog(returnVal, null); log.info("用户ID:12345" + "," + "打印时间:" + sdf.format(new Date()) + "," + "调用方法:" + mappedStatement.getId() + "," + "原始sql:" + oldSql + "," + "完整SQL:" + sql + "," + "参数:" + params + "," + "查询结果" + returnVal.toString() + "," + "执行时间:" + (System.currentTimeMillis() - startTime) + "毫秒"); return returnVal; } ``` 由于拦截器打印sql需要自动执行在intercept方法中且此方法是重写的,我在外面的方法中可以获取到用户信息要怎么传入intercept方法中? 外部获取 ``` public void save(AddDemoReqBO addDemoReqBO) ``` 其中addDemoReqBO对象中包含了用户的信息,请问我怎么把这个对象传入拦截器中,或者有什么其他的方式可以实现打印出:谁在什么时候执行了什么sql 这样的日志?
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 c#选择结构应用基本算法 c# 收到udp包后回包 c#oracle 头文件 c# 序列化对象 自定义 c# tcp 心跳 c# ice连接服务端 c# md5 解密 c# 文字导航控件 c#注册dll文件 c#安装.net
立即提问