问题:属性名和字段名不一致

解决方法

  • 起别名
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();
}

插件

最新文章

  1. 修改Excel2013默认模版(启动模版和新建Sheet模版)
  2. AngularJs之ng-repeat的用法
  3. web应用程序测试方法和测试技术详述
  4. Unreal Engine 4官网教程
  5. 伪静态&lt;-&gt; 动态页,伪静态,真静态的比较和选择
  6. hduacm 5255
  7. mysql下命令行执行sql脚本
  8. MySQL【第一篇】安装
  9. centos平台openstack spice配置
  10. test md
  11. python binary lib on win/各种python库的二进制包
  12. Vim 命令图解-Gvim使用笔记
  13. 【Java入门提高篇】Day11 Java代理——JDK动态代理
  14. php curl_errno 60
  15. FTP服务器配置和管理
  16. PHP自定义curl请求
  17. jquery+jquery.rotate实现图片旋转效果
  18. Mysql插入中文的字段内容时乱码的解决方法
  19. 282A
  20. linux达人养成计划学习笔记(四)—— 压缩命令

热门文章

  1. Spring-MVC 里面的ModelAndView
  2. Spring AOP and AspectJ AOP 有什么区别?
  3. spring 支持哪些 ORM 框架?
  4. 经历了源码的痛苦,掌握DRF的核心序列化器
  5. 快速注册service服务
  6. CSS3渐变效果工具
  7. 帝国cms输出 自增数字 方法大全
  8. Data详细解析
  9. 2021蓝桥杯省赛B组(C/C++)E.路径【最短路DP】
  10. SpringMVC初学习