一、结构图
二、在mybatis中模糊查询可能出现的异常信息
1.There is no getter for property named 'user_name' in 'class java.lang.String'
严重: Servlet.service() for servlet UserServlet threw exception org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'user_name' in 'class java.lang.String' ### Cause: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'user_name' in 'class java.lang.String' .............. Caused by: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named 'user_name' in 'class java.lang.String'
异常问题描述:在mybatis的模糊查询中,通过传递一个参数进行检索时,对参数进行判断,不能根据传递的参数的属性作为判断条件,而是"_parameter"。
2.java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
严重: Servlet.service() for servlet UserServlet threw exception
org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
### The error may involve cn.spring.dao.UserMapperDao.selectByKey-Inline
### The error occurred while setting parameters
### Cause: java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
异常问题描述:在mybatis根据单个参数进行模糊查询时,格式为"like CONCAT('%',#{user_name},'%')",而非"like CONCAT('%','#{user_name}','%')”,否在就会抛出此异常。
三、配置mybatis的输出日志
### 设置Logger输出级别和输出目的地 ### log4j.rootLogger=debug,stdout,logfile ### 把日志输出到控制台 ### ###org.apache.log4j.ConsoleAppender(控制台) ###org.apache.log4j.FileAppender(文件) ###org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件), ###org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) log4j.appender.stdout=org.apache.log4j.ConsoleAppender #log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.SimpleLayout ### 把日志信息输出到文件:jibaits.log ### log4j.appender.logfile=org.apache.log4j.FileAppender log4j.appender.logfile.File=d:/jibaits.log log4j.appender.logfile.layout=org.apache.log4j.PatternLayout log4j.appender.logfile.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %F %p %m%n ###显示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
四、效果图