LinkNemo

  • Nemo

    Mybatis generator 分页插件

    插件代码:importorg.mybatis.generator.api.CommentGenerator;importorg.mybatis.generator.api.IntrospectedTable;importorg.mybatis.generator.api.PluginAdapter;importorg.mybatis.generator.api.dom.java.*;importorg.mybatis.generator.api.dom.xml.Attribute;importorg.mybatis.generator.api.dom.xml.TextElement;impor......
    2018/03/27 16:38:37发表 316赏阅 0点评
  • Nemo

    NemoDao - 简单模仿mybatis实现一个持久层框架

    嗯,这几天用稍稍闲散的时间模仿着mybatis写了一个简单的持久层框架。目前只有一些简单的操作,不过足以用来学习一些mybatis简单的原理了。这个项目的源码托管在github,地址为:https://github.com/NemoMeng/NemoDao可以先分析下我们在使用mybatis中做的一些工作:1、配置处理。2、写mapper。3、写dao接口,在需要的地方调用dao接口。这么着写这个框架的大致内容也出来了:1、首先,我们在做的这个框架是用来操作数据库的,所以我们需要对jdbc做一些封装处理。2、我们需要预定义一些配置,在程序执行的过程中加载配置,以便在程序中使用。3、我们需要扫描......
    2017/12/22 18:39:24发表 251赏阅 1点评
  • Nemo

    spring + mybatis 操作AbstractRoutingDataSource 实现数据库读写分离

    设想需要读写分离的场景:   随着系统业务的复杂度+同时操作人数的日益增加,通过sql调优,数据源调优,网站分布式等等手段已经不足以应对,因为单台数据库服务器受CPU,磁盘IO,内存等等限制,很容易会成为整个系统的性能瓶颈。   目前应对大并发的处理中,集群是比较流行的处理方式。运用可以做集群,数据库也同样可以。  mysql读写分离则是应对数据库瓶颈的解决方案之一:通过单台主节点数据库服务器处理数据更新及实时数据,多台从节点数据库服务器处理一些不需要实时的数据查询,从而分担来自数据库方面的压力、提高数据库性能。m......
    2017/11/07 17:30:04发表 728赏阅 0点评
  • Nemo

    mybatis generator 自定义 TypeHandler 对数据库敏感字段进行加解密

    1、先创建一个自定义的类型转换器:/***自定义typeHandler*1插入数据库,加密*2查询,解密*@authorNemo**/publicclassCryptTypeHandlerimplementsTypeHandler<CryptType>{publicCryptTypegetResult(ResultSetrs,StringcolumnName)throwsSQLException{Stringvalue="";CryptTypev=newCryptType(value);value=rs.getString(columnName);if(value!=null){v......
    2017/11/07 15:35:01发表 974赏阅 0点评
  • Nemo

    mybatis 乐观锁实现,解决并发问题

    网络上看到的一个情景展示:银行两操作员同时操作同一账户就是典型的例子。比如A、B操作员同时读取一余额为1000元的账户,A操作员为该账户增加100元,B操作员同时为该账户扣除50元,A先提交,B后提交。最后实际账户余额为1000-50=950元,但本该为1000+100-50=1050。这就是典型的并发问题。乐观锁机制在一定程度上解决了这个问题。乐观锁,大多是基于数据版本(Version)记录机制实现。何谓数据版本?即为数据增加一个版本标识,在基于数据库表的版本解决方案中,一般是通过为数据库表增加一个“version”字段来实现。读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此......
    2017/11/07 15:11:03发表 896赏阅 0点评
  • Nemo

    Mybatis Generator使用最佳实践

    1.不修改generator自动生成的文件,包括modelclass,exampleclass,daoclass,mapper文件,有特殊要求的sql,另外新建mapper文件和dao,其中daoclass应extends自动生成的dao,mapper中应尽量重用自动生成的mapper文件中的元素,尽量使用includesql子句。2.单表操作,尽量使用自动生成的sql,而不是手写sql,尤其是update,insert(批量增加除外).3.自定义sql中表名应该使用别名,generator.xml中指定要使用的表要指定别名,alias,别名指定规则:首字母+最后一个单词的全部,如果只有一个单......
    2017/11/07 14:53:12发表 512赏阅 0点评
  • Nemo

    Mybatis generator1.3.5版本mapper.xml 文件重新生成不会覆盖原文件问题修正

    这个大概是Mybatisgenerator一直存在的bug。重新写了一个插件,用来解决这个问题:importorg.mybatis.generator.api.GeneratedXmlFile;importorg.mybatis.generator.api.IntrospectedTable;importorg.mybatis.generator.api.PluginAdapter;importjava.lang.reflect.Field;importjava.util.List;/***修正Mybatis每次重新generator,mapper.xml文件都不断追加的问题而用的插件*Cre......
    2017/07/03 21:16:08发表 1295赏阅 2点评
  • CODY

    springBoot+mybatis+mysql+druid多数据源配置

    一多数据源应用场景当业务数据量达到了一定程度,DBA需要合理配置数据库资源。即配置主库的机器高配置,把核心高频的数据放在主库上;把次要的数据放在从库,低配置。即把数据放在不同的数据库里,就需要通过不同的数据源进行操作数据。二配置项目结构图pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://......
    2017/06/01 20:34:36发表 1674赏阅 3点评
  • Nemo

    Spring Boot 让 MyBatis 打印日志

    使用springboot默认会打印日志在控制台,但是他默认是不输出到文件的,所以要配置输出路径,那么还要写输出路径,默认情况下,SpringBoot将仅登录到控制台,不会写日志文件。如果要编写除控制台输出之外的日志文件,则需要设置logging.file或logging.path属性(例如在application.yml中)。写入指定的日志文件。名称可以是确切的位置或相对于当前目录。将spring.log写入指定的目录。名称可以是确切的位置或相对于当前目录。在application.ymllogging:level:com.nemo:DEBUGfile:./logs/core.logroot:......
    2017/05/23 09:32:55发表 635赏阅 0点评
  • Nemo

    Mybatis 延迟加载

    什么是延迟加载?resultMap可以实现高级映射(使用association、collection实现一对一及一对多映射),association、collection具备延迟加载功能。resultType无法实现延迟加载。延迟加载:先从单表查询、需要时再从关联表去关联查询,大大提高数据库性能,因为查询单表要比关联查询多张表速度要快。使用association实现延迟加载需要定义两个Mapper的方法对应的statement只查询订单信息在查询订单的statement中使用association去延迟加载(执行)下边的statement(关联查询用户信息)<selectid="find......
    2016/07/18 09:38:24发表 424赏阅 0点评

最新点击

热门人物

热门标签

回到顶部