随笔记

平凡人平凡路,沉下心迈出步

0%

数据源配置

BoneCp配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "primaryEntityManagerFactory",
transactionManagerRef = "primaryTransactionManager",
basePackages = {"com.july.jpa.config.dao.parimary"})
@PropertySource(value = "classpath:jdbc.properties")
@ConfigurationProperties(prefix = "primary")
public class PrimaryDataSourceConfig extends BoneCPConfig {
@Value("${primary.show-sql}")
private boolean showSql;
@Value("${primary.hbm2ddl.auto}")
private String hbm2ddl;
@Value("${primary.database-platform}")
private String platform;
@Bean(name = "primaryDataSource")
@Primary
public DataSource primaryDataSource() throws SQLException {
return new BoneCPDataSource(this);
}

@Primary
@Bean(name = "primaryEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean entityManagerFactory(
EntityManagerFactoryBuilder builder,
@Qualifier("primaryDataSource") DataSource dataSource) {
return builder
.dataSource(dataSource)
.properties(getVendorProperties(dataSource))
.packages("com.july.jpa.config.dao.parimary.domain")//扫描orm映射实体类对应包下面的Entity
.persistenceUnit("primary")
.build();
}

@Autowired
private JpaProperties jpaProperties;

private Map<String, String> getVendorProperties(DataSource dataSource) {
jpaProperties.setShowSql(showSql);
jpaProperties.getHibernate().setDdlAuto(hbm2ddl);
jpaProperties.setDatabasePlatform(platform);
return jpaProperties.getHibernateProperties(dataSource);
}

@Bean(name = "primaryEntityManager")
public EntityManager entityManager(@Qualifier("primaryEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
EntityManager manager = entityManagerFactory.createEntityManager();
return manager;
}

@Primary
@Bean(name = "primaryTransactionManager")
public PlatformTransactionManager transactionManager(
@Qualifier("primaryEntityManagerFactory") EntityManagerFactory entityManagerFactory) {
return new JpaTransactionManager(entityManagerFactory);
}

}

Hikari配置示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "ds1EntityManagerFactory",
transactionManagerRef = "ds1TransactionManager",
basePackages = {"com.july.jpa.config.dao.ds1"})
@PropertySource(value = "classpath:jdbc.properties")
@ConfigurationProperties(prefix = "ds1")
public class DataSourceOneConfig extends HikariConfig {
@Value("${ds1.show-sql}")
private boolean showSql;
@Value("${ds1.hbm2ddl.auto}")
private String hbm2ddl;
@Value("${ds1.database-platform}")
private String platform;
@Bean(name = "ds1DataSource")
public DataSource hikariDataSource() throws SQLException {
return new HikariDataSource(this);
}

@Bean(name = "ds1EntityManagerFactory")
public LocalContainerEntityManagerFactoryBean ds1EntityManagerFactory(
EntityManagerFactoryBuilder builder,
@Qualifier("ds1DataSource") DataSource ds1DataSource) {
return builder
.dataSource(ds1DataSource)
.properties(getVendorProperties(ds1DataSource))
.packages("com.july.jpa.config.dao.ds1.domain")//扫描orm映射实体类对应包下面的Entity
.persistenceUnit("ds1")
.build();
}

@Autowired
private JpaProperties jpaProperties;

private Map<String, String> getVendorProperties(DataSource dataSource) {
jpaProperties.setShowSql(showSql);
jpaProperties.getHibernate().setDdlAuto(hbm2ddl);
jpaProperties.setDatabasePlatform(platform);
return jpaProperties.getHibernateProperties(dataSource);
}

@Bean(name = "ds1EntityManager")
public EntityManager entityManager(@Qualifier("ds1EntityManagerFactory") EntityManagerFactory entityManagerFactory) {
EntityManager manager = entityManagerFactory.createEntityManager();
return manager;
}

@Bean(name = "ds1TransactionManager")
public PlatformTransactionManager ds1TransactionManager(
@Qualifier("ds1EntityManagerFactory") EntityManagerFactory ds1EntityManagerFactory) {
return new JpaTransactionManager(ds1EntityManagerFactory);
}

}

数据源配置文件

1.注意ds1这类前缀,均要根据上文的配置类来指定。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ds1.jdbcUrl=jdbc:mysql://localhost:3306/test?autoReconnect=true&characterEncoding=UTF-8&failOverReadOnly=false&useSSL=false
ds1.username=root
ds1.password=root
ds1.driverClassName=com.mysql.jdbc.Driver
ds1.maxConnectionsPerPartition=20
ds1.minConnectionsPerPartition=10
ds1.partitionCount=2
ds1.acquireIncrement=2
ds1.type= com.zaxxer.hikari.HikariDataSource
ds1.minimumIdle = 20
ds1.maximumPoolSize = 30
ds1.idleTimeout = 5000
ds1.show-sql=false
ds1.hbm2ddl.auto=update
ds1.database-platform=org.hibernate.dialect.MySQL5Dialect

2.多数据源注意使用@Primary指定主数据源,否则会出错

3.在配置类中指定JpaProperties,明确是否显示sql,是否自动创建表(hbm2ddl.auto)

看清短板

1.(不擅长布局,不擅长抠图)

2.(对于技术考点不擅长表述)

3.TODO

日拱一卒,每天进步一点

1.每天写点小布局相关的demo,每天学点ps抠图技巧。

2.记录自己看到过的、领悟过的技术知识点,踩过的坑,温故才能知新。

3.

随记

1.时间:2015-12-03 21:03:04

node web 系统token解决方案:http://haomou.net/2014/08/13/2014_web_token/

tips


nwjs 打包步骤。

  1. 官网wiki说明:https://github.com/nwjs/nw.js/wiki/How-to-package-and-distribute-your-apps
  2. 注意的地方:package.json示例
1
2
3
4
5
6
7
8
9
10
11
12
{
"name": "UIDev",
"main": "www/index.html",
"window": {
"toolbar": true,
"width": 1366,
"height": 768
},
"webkit": {
"plugin": false
}
}

注意需要先将www目录和package.json一起打包成zip,并重命名为.nw,然后执行命令copy /b nw.exe+app.nw app.exe,最后用Enigma Virtual Box打包的时候需要注意将 ``` icudtl.dat,.dll,nw.pak ``` 一起打包,这样封装的exe才能在其他地方直接运行


①感谢

首先还是要感谢模板作者,因为你的工作,才使得我这个懒人可以很方便的使用这套UI。模板作者github

②记录

这里主要用来记录一些平时看到的好用的、好玩的开源项目,给自己做个备忘,也给大家一个参考。

  1. Spring这个大家一定很熟悉,但是想说的是其中的Spring-boot这个项目,用来做微服务很好用。
  2. Fis3,百度出品的前端自动构建工具,好评!
  3. ECharts,百度出品前端图表库,好评!
  4. Druid,阿里出品数据库连接池,推荐使用。
  5. JFinal,Java极速web开发框架,好评!
  6. AngularJs,谷歌出品,双向绑定、指令,好用,目前还在学习研究阶段。
  7. React 虚拟DOM操作,面向组件开发UI。
  8. Leetcode 算法练习网站

好用的站点技能

  1. https://www.gitbook.com/explore
  2. http://fex.baidu.com/blog/2015/05/nodejs-hot-swapping/
  3. http://socket.io/docs/
  4. nodejs orm 组件 http://docs.sequelizejs.com/en/latest/api/associations/belongs-to-many/
  5. https://github.com/nomiddlename/log4js-node
  6. https://github.com/expressjs/cors
  7. http://restify.com/#httpclient
  8. docker 安装说明:
    https://cnodejs.org/topic/53f494d9bbdaa79d519c9a4a
  9. ionic 移动端H5框架:
    http://ionicframework.com/docs/
  10. node 全栈框架 meteor –>
    http://docs.meteor.com/#/basic/
  11. meteor 教程 http://www.hubwiz.com/course/55b87a7b3ad79a1b05dcc339/

好文记录

  1. promisess 的正确使用方式:http://fex.baidu.com/blog/2015/07/we-have-a-problem-with-promises/
  2. 技术架构介绍 http://web.jobbole.com/82578/

hexo命令记录

  • 编译发布hexo clean &&hexo g && hexo deploy
  • 创建新文章hexo new post xxx.md