做性能优化的最重要的功能就是减少数据库的交互,很多程序员一般在开发的时候只考虑简单的实现功能,不管业务简单复杂,只要实现就行。
mybatis有个重要的功能就是考虑在联合查询时技巧:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.cn.dao.TeacherMapper">
<resultMap type="com.cn.vo.Teacher" id="teacher">
<id property="id" column="id" javaType="int" jdbcType="INTEGER" />
<result property="name" column="name" javaType="string"
jdbcType="VARCHAR" />
<collection property="students" column="t_s_id" ofType="com.cn.vo.Student">
<id property="sid" column="sid" javaType="int" jdbcType="INTEGER" />
<result property="sname" column="sname" javaType="string"
jdbcType="VARCHAR" />
</collection>
</resultMap>
<select id="one2many" parameterType="int" resultMap="teacher">
select
t.id,t.name,s.t_s_id,s.sid,s.sname
from teacher t join student s on t.id
= s.t_s_id
where t.id = #{id}
</select>
</mapper>
collection
这个应用使我们在服务层减少数据库连接次数,从而达到优化性能的效果
mybatis性能优化之减少数据库连接工程demo下载:
http://download.csdn.net/detail/luozhonghua2014/8953781
分享到:
相关推荐
Mybatis使用数据库连接池来管理数据库连接,这样可以提高性能和资源利用率。当你在测试过程中发现`Opening JDBC Connection`的日志,这表示Mybatis正在尝试从连接池中获取连接。如果连接池中的连接都被占用,新请求...
本项目结合了MyBatis作为持久层框架,以及Durid作为数据库连接池,进一步优化了数据库操作的性能。同时,Freemarker被选为视图模板引擎,用于生成动态HTML页面。下面将详细解释这些技术及其在项目中的应用。 1. **...
2. **缓存机制:** 合理地使用MyBatis提供的二级缓存机制,可以显著减少数据库访问次数,提高性能。需要注意的是,二级缓存需要正确地配置和使用,以避免数据不一致的问题。 3. **SQL语句优化:** 优化SQL语句本身...
只需要配置好Generator的规则,如指定数据库连接信息、表名、生成文件的目标位置等,运行插件即可自动完成代码生成。 在JDBC(Java Database Connectivity)的基础上,Mybatis提供了一种更高级的抽象,使得开发者...
连接池是管理数据库连接的有效策略,它可以复用已建立的连接,减少创建和销毁连接的开销。常见的Java连接池有C3P0、Apache DBCP、HikariCP和DBCP2等。通过预配置一定数量的连接,应用在需要时可以从池中获取,用完后...
在2.0版本中,Spring Boot引入了对Java 11的支持,性能优化,并改进了与其他Spring生态系统的集成。 Spring MVC是Spring框架的一部分,用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构模式,帮助开发者...
在不使用连接池的情况下,MyBatis每次进行数据库操作时会创建一个新的数据库连接,完成任务后关闭该连接。这个过程包括TCP三次握手建立连接、数据库验证用户身份、分配资源等一系列开销。当并发量增加时,频繁的创建...
- **监控和日志**: Druid内置了Web监控统计页面,可以实时查看数据库连接池的状态、SQL执行情况等,便于问题排查和性能优化。 - **SQL解析和格式化**: Druid能解析SQL,提供SQL执行计划,还可以对SQL进行格式化,...
1.3.2 或 1.3.6 版本可能包含了一些性能优化和新特性。 2. **MySQL 数据库连接 jar 包**:通常指的是 `mysql-connector-java`,这是连接 MySQL 数据库的驱动包,允许 Java 应用程序通过 JDBC API 连接到 MySQL ...
开发者需要将这两个jar包添加到项目的类路径中,配置MyBatis的配置文件(如mybatis-config.xml),以及数据库连接的相关参数,就可以开始愉快地进行数据库操作了。同时,为了保证系统的稳定性和安全性,建议定期更新...
Druid是阿里巴巴开源的一个高性能、强大的Java数据库连接池。它不仅提供了连接池功能,还集成了监控、SQL解析、WebStatFilter等特性,有利于数据库性能的优化和问题排查。 综上所述,这个项目涉及到的IT知识点包括...
同时,借助于DBCP和Commons Pool,MyBatis能够在不牺牲性能的前提下,有效地管理数据库连接。Apache Commons Collections则为处理查询结果提供了额外的便利性。总的来说,"mybatis.zip"中的这些组件共同构成了一个...
在数据库交互中,批量操作能够显著提高效率,减少数据库连接的开销。本测试主要探讨了 MyBatis Plus 中的五种批量操作方式,并通过单元测试进行性能测试。 1. **单条插入(Insert)** MyBatis Plus 提供了单条数据...
1. **配置文件**:创建generatorConfig.xml,配置数据库连接信息、目标生成目录以及需要生成的类和XML文件模板。 2. **执行生成**:运行MyBatis Generator的主类,根据配置文件生成对应代码。 3. **自定义模板**:...
延迟加载允许按需加载数据,缓存机制可以减少数据库访问次数,提高性能,而注解开发则为使用Mybatis提供了更简洁的方式。 Mybatis的ORM思想意味着将数据库表映射为内存中的对象,方便程序员以面向对象的方式进行...
5. **监控与调优**:使用SpringBoot的Actuator模块进行性能监控,观察CPU、内存和数据库连接等资源的使用情况,以便进行针对性调优。 6. **本地测试**:描述中提到的本地测试单线程耗时3分39秒,这表明在当前配置下...
3. **连接池配置**:使用像Druid、HikariCP这样的高性能连接池,减少数据库连接的创建和销毁开销。 4. **设置自动提交**:在不手动管理事务时,可以关闭自动提交,通过SqlSession的beginTransaction和commit/...
总的来说,DBCP是一个高效、可靠的数据库连接池实现,它可以帮助Java应用优化数据库访问性能,减少资源消耗,同时提供了一套完善的管理机制来确保连接的稳定性和安全性。在实际项目中,结合其他ORM框架(如Hibernate...
这样可以显著减少数据库连接的创建和销毁开销,提高系统性能。 在Mybatis中,事务控制是确保数据一致性的重要手段。Mybatis提供了基于XML配置的事务管理方式,通过`<transactionManager>`元素来指定事务管理器类型...
合理配置连接池参数,可以进一步优化数据库的并发访问,减少等待时间,提升系统整体性能。 总的来说,Java的动态代理、反射机制和数据库连接池是Java开发中不可或缺的工具和技术,它们极大地增强了Java应用程序的...