ResultMap:
ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
<resultMap id="userResultMap" type="User"> <id property="id" column="user_id" /> <result property="username" column="user_name"/> <result property="password" column="hashed_password"/> </resultMap> <select id="selectUsers" resultMap="userResultMap"> select user_id, user_name, hashed_password from some_table where id = #{id} </select> |
实体类中属性password与数据库中字段名hashed_password不同,查询时查询不到,所以需要对字段名进行起别名映射。
property实体类、column数据库
对于数据库中与实体类相同的属性名,可以自动映射,就不需要在resultMap中进行起别名映射。
日志工厂:
Mybatis 的内置日志工厂提供日志功能,内置日志工厂将日志交给以下其中一种工具作代理:
· SLF4J
· LOG4J 【掌握】
· LOG4J2
· JDK_LOGGING
· COMMONS_LOGGING
· STDOUT_LOGGING 【掌握】
· NO_LOGGING
在Mybatis中具体使用哪一个日志实现,在设置中设定!
STDOUT_LOGGING标准日志输出:
<configuration> <properties resource="jdbc.properties"/> <!--设置日志--> <settings> <!--必须这么写,注意前后空格不要有--> <setting name="logImpl" value="STDOUT_LOGGING"></setting> </settings> |
注意:
必须这么写,注意前后空格不要有:name="logImpl" value="STDOUT_LOGGING"
log4j:
1、导入log4j依赖:
<dependencies> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> |
2、log4j.properties:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.err log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.appender.file=org.apache.log4j.FileAppender log4j.appender.file.File=c:\\mylog.log log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n log4j.rootLogger=DEBUG, stdout |
3、设置log4j:
<?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> <properties resource="jdbc.properties"/> <!--设置日志log4j--> <settings> <setting name="logImpl" value="LOG4J"></setting> </settings> |
简单使用:
// 导入apache包 import org.apache.log4j.Logger; public class UserTest { static Logger logger = Logger.getLogger(UserTest.class); // 方法中参数为当前类对象 @Test public void log4jTest() { logger.info("提示信息"); logger.debug("提示信息"); logger.error("提示信息"); } |
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理