0. 原代码预览

简单实现在数据库中插入数据

public void testInsert() throws IOException {
//获取核心配置文件的输入流
InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//获取SqlSessionFactoryBuilder对象
SqlSessionFactoryBuilder sqlSessionFactoryBuilder = new SqlSessionFactoryBuilder();
//获取SqlSessionFactory对象
SqlSessionFactory sqlSessionFactory = sqlSessionFactoryBuilder.build(is);
//获取sql的回话对象sqlSession,是Mybatis提供的操作数据库的对象
SqlSession sqlSession = sqlSessionFactory.openSession(); //获取UserMapper的代理实现类对象
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
//调用mapper接口中的方法,实现添加用户信息的功能
int result = mapper.insertUser();
System.out.println("结果:"+result); //提交事务
sqlSession.commit(); //关闭sqlSession对象
sqlSession.close();
}
  • SqlSession:代表Java程序和数据库之间的会话。(HttpSession是Java程序和浏览器之间的会话)
  • SqlSessionFactory:是“生产”SqlSession的“工厂”。

1. 简化代码

根据两个一致性,可以将获取UserMapper的代理实现类对象调用mapper接口中的方法两部分代码写为:

//例如我的代码:
int result = sqlSession.insert("com.atguigu.mybatis.insertUser");//参数是:全类名+方法名。也就是映射文件中sql的id位置

2. 自动提交sql事务

每次都需要手动提交SQL事务sqlSession.commit()。可以在获取sql的回话对象sqlSession的代码:sqlSessionFactory.openSession()加一个参数:

SqlSession sqlSession = sqlSessionFactory.openSession(true);

3. 加入log4j日志功能

  • 在pom.xml中加入依赖

    <!-- log4j日志 -->
    <dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.12</version>
    </dependency>
  • 加入log4j的配置文件

    log4j的配置文件名必须为log4j.xml,存放的位置是src/main/resources目录下

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
    <param name="Encoding" value="UTF-8" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %d{MM-dd HH:mm:ss,SSS}
    %m (%F:%L) \n" />
    </layout>
    </appender>
    <logger name="java.sql">
    <level value="debug" />
    </logger>
    <logger name="org.apache.ibatis">
    <level value="info" />
    </logger>
    <root>
    <level value="debug" />
    <appender-ref ref="STDOUT" />
    </root>
    </log4j:configuration>

    重新运行代码,查看日志功能:

最新文章

  1. Verilog学习笔记简单功能实现(二)...............全加器
  2. oracle 11g RAC public/virtual/SACN/private IP we need to know
  3. [No000060]冷读热读:读书九问
  4. MySQL- -Join语法解析与性能分析
  5. oracle 游标示例
  6. Python实现DBScan
  7. C# Common Keyword
  8. 免费web直接打印的控件PAZU
  9. bzoj1058: [ZJOI2007]报表统计
  10. cocos2d-x坐标系
  11. Python使用MySQL数据库(新)
  12. css中 padding属性的数值赋予顺序为
  13. 华为6.0系统设备最完美激活Xposed框架的经验
  14. highchart在IE8下面的显示问题解决
  15. 什么是RUP
  16. 详解C#特性和反射(三)
  17. %s %r 区别 转
  18. Hive学习之路 (二十)Hive 执行过程实例分析
  19. MySQL学习3---事务
  20. screen 命令使用及示例

热门文章

  1. 【AC自动机】背单词
  2. AcWing 1248. 灵能传输 蓝桥杯
  3. 免费CDN:jsDelivr+Github 使用方法
  4. @vue/cli3+配置build命令构建测试包&amp;正式包
  5. Markdown的使用指南
  6. 如何使用lerna进行多包(package)管理
  7. 《The Tail At Scale》论文详解
  8. linux服务器通过mailx邮件发送附件到指定邮箱
  9. VisionPro &#183; C# &#183; 加密狗检查程序
  10. 业务可视化-让你的流程图&quot;Run&quot;起来