resultMap,日志,分页
2024-09-07 04:56:52
问题:属性名和字段名不一致
解决方法
- 起别名
select id, username, password as pwd from db4.user
resultMap结果集映射
id username password 数据库----cloumn
id username pwd 实体类----property
- UserMapper.xml
<resultMap id="UserMap" type="User">
<result column="id" property="id"/>
<result column="username" property="username"/>
<result column="password" property="pwd"/>
</resultMap>
<select id="getUserList" resultMap="UserMap">
select id, username, password
from db4.user
</select>
日志
日志工厂
- mybatis-config.xml
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
Log4j
- Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台、文件、GUI组件
- 我们也可以控制每一条日志的输出格式;
- 通过定义每一条日志信息的级别,我们能够更加细致地控制日志的生成过程
- 通过一个配置文件来灵活地进行配置,而不需要修改应用的代码。
使用
- 导包
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
- log4j.properties
### 设置###
log4j.rootLogger = debug,stdout,D,E
### 输出信息到控制抬 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 输出DEBUG 级别以上的日志到=./logs/log.log
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ./logs/log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 输出ERROR 级别以上的日志到=./logs/error.log
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =./logs/error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
- 配置log4j为日志的实现mybatis-config.xml
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
简单使用
- 在要使用Log4j的类中,导入包import org.apache.log4j.Logger;
- 日志对象,参数为当前类的class
private static Logger logger = Logger.getLogger(test.class);
- 测试
public class test {
private static Logger logger = Logger.getLogger(test.class);
@Test
public void testLog4j() {
//日志级别
logger.debug("This is debug message.");
// 记录info级别的信息
logger.info("This is info message.");
// 记录error级别的信息
logger.error("This is error message.");
}
}
分页
使用Limit分页
SELECT * from user limit startIndex , pageSize;
使用mybatis实现分页,核心SQL
- 接口UserMapper.java
List<User> getUserByLimit(Map<String,Integer> map);
- Mapper.xml
<select id="getUserByLimit" parameterType="map" resultMap="UserMap">
SELECT *
FROM db4.user limit #{startIndex},#{pageSize}
</select>
- 测试
@Test
public void getUserByLimit_test() {
SqlSession sqlSession = MybatisUtils.getSqlSession();
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
HashMap<String, Integer> map = new HashMap<>();
map.put("startIndex", 0);
map.put("pageSize", 2);
List<User> userList = userMapper.getUserByLimit(map);
for (User user : userList) {
System.out.println(user);
}
sqlSession.commit();
sqlSession.close();
}
插件
最新文章
- 修改Excel2013默认模版(启动模版和新建Sheet模版)
- AngularJs之ng-repeat的用法
- web应用程序测试方法和测试技术详述
- Unreal Engine 4官网教程
- 伪静态<;->; 动态页,伪静态,真静态的比较和选择
- hduacm 5255
- mysql下命令行执行sql脚本
- MySQL【第一篇】安装
- centos平台openstack spice配置
- test md
- python binary lib on win/各种python库的二进制包
- Vim 命令图解-Gvim使用笔记
- 【Java入门提高篇】Day11 Java代理——JDK动态代理
- php curl_errno 60
- FTP服务器配置和管理
- PHP自定义curl请求
- jquery+jquery.rotate实现图片旋转效果
- Mysql插入中文的字段内容时乱码的解决方法
- 282A
- linux达人养成计划学习笔记(四)—— 压缩命令