Mybatis框架--优化过程
2024-09-08 05:39:37
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>
重新运行代码,查看日志功能:
最新文章
- Verilog学习笔记简单功能实现(二)...............全加器
- oracle 11g RAC public/virtual/SACN/private IP we need to know
- [No000060]冷读热读:读书九问
- MySQL- -Join语法解析与性能分析
- oracle 游标示例
- Python实现DBScan
- C# Common Keyword
- 免费web直接打印的控件PAZU
- bzoj1058: [ZJOI2007]报表统计
- cocos2d-x坐标系
- Python使用MySQL数据库(新)
- css中 padding属性的数值赋予顺序为
- 华为6.0系统设备最完美激活Xposed框架的经验
- highchart在IE8下面的显示问题解决
- 什么是RUP
- 详解C#特性和反射(三)
- %s %r 区别 转
- Hive学习之路 (二十)Hive 执行过程实例分析
- MySQL学习3---事务
- screen 命令使用及示例
热门文章
- 【AC自动机】背单词
- AcWing 1248. 灵能传输 蓝桥杯
- 免费CDN:jsDelivr+Github 使用方法
- @vue/cli3+配置build命令构建测试包&;正式包
- Markdown的使用指南
- 如何使用lerna进行多包(package)管理
- 《The Tail At Scale》论文详解
- linux服务器通过mailx邮件发送附件到指定邮箱
- VisionPro &#183; C# &#183; 加密狗检查程序
- 业务可视化-让你的流程图";Run";起来