`
luozhonghua2014
  • 浏览: 66012 次
文章分类
社区版块
存档分类
最新评论

mybatis性能优化之减少数据库连接

 
阅读更多

做性能优化的最重要的功能就是减少数据库的交互,很多程序员一般在开发的时候只考虑简单的实现功能,不管业务简单复杂,只要实现就行。

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 update数据库死锁之获取数据库连接池等待

    Mybatis使用数据库连接池来管理数据库连接,这样可以提高性能和资源利用率。当你在测试过程中发现`Opening JDBC Connection`的日志,这表示Mybatis正在尝试从连接池中获取连接。如果连接池中的连接都被占用,新请求...

    springboot +mybatis(durid的数据库连接池)+freemarker--可能我freemaker的依赖没有加到时候自己再pom文件下加一下

    本项目结合了MyBatis作为持久层框架,以及Durid作为数据库连接池,进一步优化了数据库操作的性能。同时,Freemarker被选为视图模板引擎,用于生成动态HTML页面。下面将详细解释这些技术及其在项目中的应用。 1. **...

    Mybatis优化

    2. **缓存机制:** 合理地使用MyBatis提供的二级缓存机制,可以显著减少数据库访问次数,提高性能。需要注意的是,二级缓存需要正确地配置和使用,以避免数据不一致的问题。 3. **SQL语句优化:** 优化SQL语句本身...

    使用Mybatis框架操作数据库

    只需要配置好Generator的规则,如指定数据库连接信息、表名、生成文件的目标位置等,运行插件即可自动完成代码生成。 在JDBC(Java Database Connectivity)的基础上,Mybatis提供了一种更高级的抽象,使得开发者...

    数据库连接的4种方式

    连接池是管理数据库连接的有效策略,它可以复用已建立的连接,减少创建和销毁连接的开销。常见的Java连接池有C3P0、Apache DBCP、HikariCP和DBCP2等。通过预配置一定数量的连接,应用在需要时可以从池中获取,用完后...

    springboot+springmvc+mybatis+druid整合

    在2.0版本中,Spring Boot引入了对Java 11的支持,性能优化,并改进了与其他Spring生态系统的集成。 Spring MVC是Spring框架的一部分,用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构模式,帮助开发者...

    mybatis 插入数据,打开与关闭连接池的插入性能对比

    在不使用连接池的情况下,MyBatis每次进行数据库操作时会创建一个新的数据库连接,完成任务后关闭该连接。这个过程包括TCP三次握手建立连接、数据库验证用户身份、分配资源等一系列开销。当并发量增加时,频繁的创建...

    mybatis-platform_mybatis_

    - **监控和日志**: Druid内置了Web监控统计页面,可以实时查看数据库连接池的状态、SQL执行情况等,便于问题排查和性能优化。 - **SQL解析和格式化**: Druid能解析SQL,提供SQL执行计划,还可以对SQL进行格式化,...

    包含mybatis-generator1.3.2的jar包、mysql数据库连接jar包、mybatis3.2.7.jar以及自动生成代码的配置文件模板

    1.3.2 或 1.3.6 版本可能包含了一些性能优化和新特性。 2. **MySQL 数据库连接 jar 包**:通常指的是 `mysql-connector-java`,这是连接 MySQL 数据库的驱动包,允许 Java 应用程序通过 JDBC API 连接到 MySQL ...

    mybatis jar包(同时包含mysql连接jar包)

    开发者需要将这两个jar包添加到项目的类路径中,配置MyBatis的配置文件(如mybatis-config.xml),以及数据库连接的相关参数,就可以开始愉快地进行数据库操作了。同时,为了保证系统的稳定性和安全性,建议定期更新...

    mybatis-plus+动态数据源

    Druid是阿里巴巴开源的一个高性能、强大的Java数据库连接池。它不仅提供了连接池功能,还集成了监控、SQL解析、WebStatFilter等特性,有利于数据库性能的优化和问题排查。 综上所述,这个项目涉及到的IT知识点包括...

    mybatis.zip )

    同时,借助于DBCP和Commons Pool,MyBatis能够在不牺牲性能的前提下,有效地管理数据库连接。Apache Commons Collections则为处理查询结果提供了额外的便利性。总的来说,"mybatis.zip"中的这些组件共同构成了一个...

    mybatis plus 5种批量操作性能测试

    在数据库交互中,批量操作能够显著提高效率,减少数据库连接的开销。本测试主要探讨了 MyBatis Plus 中的五种批量操作方式,并通过单元测试进行性能测试。 1. **单条插入(Insert)** MyBatis Plus 提供了单条数据...

    mybatis的oracle的批量插入优化和mybatis的generator自动生成三层文件

    1. **配置文件**:创建generatorConfig.xml,配置数据库连接信息、目标生成目录以及需要生成的类和XML文件模板。 2. **执行生成**:运行MyBatis Generator的主类,根据配置文件生成对应代码。 3. **自定义模板**:...

    Mybatis.pdf

    延迟加载允许按需加载数据,缓存机制可以减少数据库访问次数,提高性能,而注解开发则为使用Mybatis提供了更简洁的方式。 Mybatis的ORM思想意味着将数据库表映射为内存中的对象,方便程序员以面向对象的方式进行...

    SpringBoot使用mybatis批量新增500万数据到mysql数据库Demo

    5. **监控与调优**:使用SpringBoot的Actuator模块进行性能监控,观察CPU、内存和数据库连接等资源的使用情况,以便进行针对性调优。 6. **本地测试**:描述中提到的本地测试单线程耗时3分39秒,这表明在当前配置下...

    对mybatis3 基本环境搭建优化(二)

    3. **连接池配置**:使用像Druid、HikariCP这样的高性能连接池,减少数据库连接的创建和销毁开销。 4. **设置自动提交**:在不手动管理事务时,可以关闭自动提交,通过SqlSession的beginTransaction和commit/...

    数据库连接池

    总的来说,DBCP是一个高效、可靠的数据库连接池实现,它可以帮助Java应用优化数据库访问性能,减少资源消耗,同时提供了一套完善的管理机制来确保连接的稳定性和安全性。在实际项目中,结合其他ORM框架(如Hibernate...

    Mybatis连接池、事务控制和复杂查询(基于XML配置).zip

    这样可以显著减少数据库连接的创建和销毁开销,提高系统性能。 在Mybatis中,事务控制是确保数据一致性的重要手段。Mybatis提供了基于XML配置的事务管理方式,通过`&lt;transactionManager&gt;`元素来指定事务管理器类型...

    Java的动态代理、反射机制和数据库连接池技术

    合理配置连接池参数,可以进一步优化数据库的并发访问,减少等待时间,提升系统整体性能。 总的来说,Java的动态代理、反射机制和数据库连接池是Java开发中不可或缺的工具和技术,它们极大地增强了Java应用程序的...

Global site tag (gtag.js) - Google Analytics