百木园-与人分享,
就是让自己快乐。

Mybatis框架--优化过程

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>
    

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

    image-20220818163606862


来源:https://www.cnblogs.com/tianaqiang/p/16599371.html
本站部分图文来源于网络,如有侵权请联系删除。

未经允许不得转载:百木园 » Mybatis框架--优化过程

相关推荐

  • 暂无文章