初学MyBatis框架

Posted 大浪自逍遥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了初学MyBatis框架相关的知识,希望对你有一定的参考价值。

一,MyBatis中三个常用的查询方法

1selectlList

用于查询多条数据的情况,返回值是一个List集合,如果没有查询到任何数据,返回没有元素的空集合(不是null)。

@Test

public void testSelAll() {

SqlSession session=null;

try {

//加载MyBatis核心配置文件

InputStream is = Resources.getResourceAsStream("mybatis_cfg.xml");

//构建SqlSessionFactory工厂对象

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

//通过工厂打开SqlSession

 session = factory.openSession();

 //通过session执行查询操作

 List<User> list = session.selectList("com.wlk.mapper.UserMapper.selAll");

 System.out.println(list);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}finally {

//关闭资源

if(session!=null) {

session.close();

}

}

}

2,selectOne

用于查询单条数据,返回值是一个对象,如果没有查到数据返回值是null

@Test

public void testSelectOne() throws IOException {

InputStream is = Resources.getResourceAsStream("mybatis_cfg.xml");

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

SqlSession session = factory.openSession();

User user = session.selectOne("com.wlk.mapper.UserMapper.selOne");

System.out.println(user);

session.close();

3,selectMap

用于查询多条数据的情况,多条数据要形成一个Map集合,如果查询不到数据返回一个空map集合(不是null)。

@Test

public void testSelectMap() throws IOException {

InputStream is = Resources.getResourceAsStream("mybatis_cfg.xml");

SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(is);

SqlSession session = factory.openSession();

Map<Integer, User> map = session.selectMap("com.wlk.mapper.UserMapper.selAll", "id");//表示应id表示key值

System.out.println(map);

//遍历map集合

Set<Integer> set = map.keySet();

for (Integer k : set) {

System.out.println(map.get(k));

}

session.close();

}

二,LOG4J

1log4jApache提供的而一款记录日志的工具

2log4j既可以将日志信息打印到控制台,也可以打印输出到一个日志文件中

3log4j可以定制日志的输出格式

4log4j可以定制日志的输出级别

 

LOG4J日志级别

1,FATAL

致命的,表示非常严重的错误,一般是系统错误

2,ERROR

错误,表示代码错误,比较严重

3,WARN

警告,不影响程序运行,但可能存在风险

4,INFO

信息,拜师一个普通输出信息

5,DEBUG

调试,表示程序员认为的一些调试信息

 

使用LOG4J

1,导包

log4j-api-2.0-rc1.jar

log4j-core-2.0-rc1.jar

log4j-1.2.17.jar

 

2,配置文件

使用一个叫log4j.properties的配置文件,会设定log4j的设置信息,例如日志级别,日志输出方式,日志格式等等。(eclipse中有自带)

# Set root category priority to INFO and its only appender to CONSOLE.

#log4j.rootCategory=debug, CONSOLE

log4j.rootCategory=DEBUG, CONSOLE, LOGFILE

# CONSOLE is set to be a ConsoleAppender using a PatternLayout.

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender

log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout

log4j.appender.CONSOLE.layout.ConversionPattern=- %m%c%l%d{yyyy-MM-dd HH-mm:ss}%n

# LOGFILE is set to be a File appender using a PatternLayout.

log4j.appender.LOGFILE=org.apache.log4j.FileAppender

log4j.appender.LOGFILE.File=c:/test.log

log4j.appender.LOGFILE.Append=true

log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout

log4j.appender.LOGFILE.layout.ConversionPattern=- %m%l%n

 

测试:

public class TestLog4j {

public static void main(String[] args) {

//获取日志对象

Logger logger=Logger.getLogger(TestLog4j.class);

//五个日志级别,分别对应五个输出方法,方法和级别名一致

logger.fatal("系统崩溃了。。。");

logger.error("发生错误。。。");

logger.warn("警告!");

logger.info("消息~");

logger.debug("调试---");

}

}

控制台

 

初学MyBatis框架(2)

文件下

 

初学MyBatis框架(2)

 

三,MyBatis中对LOG4J的支持

1,将log4j.properties配置文件放到mybatis项目的src目录下面,进行测试

 

初学MyBatis框架(2)

2,单独设置设置SQL语句的输出级别为DEBUG级别

 

运行效果截图

 

四,这次过程写得不够详细,其中还有很多细节没有涉猎到,再接再厉吧

以上是关于初学MyBatis框架的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis入门到入坟 一站式基础及进阶——囊括面试点与初学基础框架分析——从0到1 不会私我 我手把手教你

关于MyBatis

MyBatis初学者总结-搭建MyBatis环境步骤

MyBatis学习总结(超级详细哦,尤其适合初学者)

本周重磅MyBatis从入门到精通

MyBatis增删改查(步骤详细,由浅入深,适合初学者,只看这一篇就够了)