Jade的笔记

代码出自https://github.com/paoding-code/paoding-rose


在项目使用jade时候,只要引入以下配置即可

<import resource="classpath*:jade/applicationContext*.xml"/>

需要在spring中配置的类

  • SpringDataSourceFactory 在applicationContext.xml中配置 dataSource
  • JdbcTemplateDataAccessProvider 先看applicationContext.xml中 先查找 DataSourceFactory, 如果没有DataSourceFactory则默认SpringDataSourceFactory
    • 使用DataAccess时候,最好使用SQLThreadLocalWrapper(装饰者模式,实际使用的是JdbcTemplateDataAccess)。
  • interpreter 需要在xml中配置,如 ExpressSQLInterpreter,
    • SimpleNamedParamSQLInterpreter目前没有用到,只用到了ExpressSQLInterpreter
  • JadeDaoFactoryBean 配置具体的Dao,需要dataProvider以及Dao.class
  • 在war项目的applicationContext.xml中增加数据源定义:
    • demo
      ​<!-- 数据源配置 dbcp -->
      <bean id="jade.dataSource.com.chen.dao" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName"value="com.mysql.jdbc.Driver">    </property>
      <property name="url"value="jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&amp;characterEncoding=utf-8">    </property>
      <property name="username"value="test"></property>
      <property name="password"value="test"></property><!-- 运行判断连接超时任务的时间间隔,单位为毫秒,默认为-1,即不执行任务。 -->
      <property name="timeBetweenEvictionRunsMillis"value="3600000"></property><!-- 连接的超时时间,默认为半小时。 -->
      <property name="minEvictableIdleTimeMillis"value="3600000"></property>
      </bean>
      • MasterSlaverDataSource 可以配置主从数据源
      • 这里假设了mysql已经安装在本地了,用户名为test,密码为test。
      • jade约定 先取 jade.dataSource.$catalog, 如果dao中没有配置catalog,则默认为 dao的类名。
      • jade约定了bean的id为jade.dataSource.classPackageName。
      • jade约定了这个bean的有效范围为classPackageName所有的DAO。
      • jade约定了除非有专门的定义,所有的子目录也受bean上的classpackageName所影响。
      • 最后取jade.dataSource和dataSource

使用方式,见test里面的样例

  • 在JdbcTemplateDataAccessProvider 中生成JdbcTemplateDataAccess, 依赖spring-jdbctemplate,
    • 如果是测试 可以直接使用SimpleJdbcTemplateDataAccessProvider和SimpleDataSourceFactory
  • mapper解析
    • Identity或者ReturnGeneratedKeys 返回自增Id, 推荐使用 ReturnGeneratedKeys, 返回值为primitive(如int)或者Wrapper(如Integer)类型都可以
    • 批量添加 无法生成自增Id
    • 返回单行
      • int,long,BigDecimal
      • map
      • Date
    • 返回多行
      • list<int> .. 如果不存在则返回空list
      • list<map>
      • set
      • array 如果不存在则返回空 数组

实现功能

  • spring配置:支持, 使用JadeScannerConfigurer,只扫描 DAO注解的接口。 需要自行配置 basePackage,如果扫描多个路径,用分号隔开。
  • 扫描dao的配置:支持
  • 分库:支持spring配置主从分离, 不支持从zk中配置
  • 分表:不支持

来自:https://github.com/kongzhidea/jade/blob/master/README.md

全部评论

相关推荐

2025年初,新的一年开始,我给自己暗暗打气,发誓今年一定要拿到offer。如今2025年即将结束,找工作仍然没有任何水花,如今的失意和落魄和年初信心满满的姿态形成鲜明对比,想必也是因为被社会毒打,认清现实了吧。先分享一下贴主的背景,本人女,本科末流985文科专业,后来保送到华五,成绩一直是班级第一,有过国奖,实习有多段头部大厂经历。发贴的直接原因是今天华为面试挂,在反思中有很多复杂的想法,包括对自身能力的怀疑、对面试官所提问题的不解、对大环境的无奈。贴主是一个说话温柔、不喜欢咄咄逼人、有点社恐的人(基本上算是人们眼中对小女生的刻板印象,所以在历次群面中基本全挂(看到大家争抢当leader、t...
在找内推的小虾米:感觉这一段经历和我好像啊,前段时间面了很多车企,面试项目经历各种被拷打,大多数都没过一面,最有希望拿offer的一个终面挂了把我干破防了,打电话给爸妈哭了一个多小时才缓过来。我也开始否定自己,否定自己的一切,包括性格,能力,成长经历。。。最后面了深圳的某家公司,面试官人都挺友好,提的问题有深度但找到切入点 ,最后hr也按岗位最高的标准给的offer,我才发现自己并没有这么不堪,只是我的能力和经验和之前的岗位要求不那么符合而已。帖主一定不要灰心,招聘的窗口期还有很长很长,保持自信扬长避短,一定有企业能发现你的闪光点,祝好。
我的求职进度条
点赞 评论 收藏
分享
刷牛客的我很豁达:你是不是对算法有什么误解,你没手握两篇顶刊顶会,还想搞算法岗,有顶刊顶会在算法岗算才入门
点赞 评论 收藏
分享
脾气小祖宗:这简历摸到都得狠狠地消毒液洗手😂
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务