Skip to content

Commit 2f054ec

Browse files
committed
optimize Aoolication-YAML for java
1 parent bf36ec6 commit 2f054ec

File tree

3 files changed

+66
-9
lines changed

3 files changed

+66
-9
lines changed

build/version.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
<PropertyGroup>
33
<VersionMajor>2</VersionMajor>
44
<VersionMinor>2</VersionMinor>
5-
<VersionPatch>83</VersionPatch>
5+
<VersionPatch>84</VersionPatch>
66
<VersionPrefix>$(VersionMajor).$(VersionMinor).$(VersionPatch)</VersionPrefix>
77
</PropertyGroup>
88
</Project>

src/SmartCode.Generator/RazorTemplates/Java/Pom-Server.cshtml

+23-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
@using SmartCode
2+
@using SmartCode.Db
23
@model BuildContext
34

45
@{
56
Layout = null;
67
var project = Model.Project;
8+
var dbSource = Model.GetDataSource<DbSource>();
79
}
810
<?xml version="1.0" encoding="UTF-8"?>
911

@@ -40,11 +42,27 @@
4042
<artifactId>mybatis-spring-boot-starter</artifactId>
4143
<version>2.1.1</version>
4244
</dependency>
43-
<dependency>
44-
<groupId>mysql</groupId>
45-
<artifactId>mysql-connector-java</artifactId>
46-
<scope>runtime</scope>
47-
</dependency>
45+
@switch (dbSource.DbProvider.Name)
46+
{
47+
case SmartSql.DataSource.DbProvider.MYSQL:
48+
{
49+
<dependency>
50+
<groupId>mysql</groupId>
51+
<artifactId>mysql-connector-java</artifactId>
52+
<scope>runtime</scope>
53+
</dependency>
54+
break;
55+
}
56+
case SmartSql.DataSource.DbProvider.POSTGRESQL:
57+
{
58+
<dependency>
59+
<groupId>org.postgresql</groupId>
60+
<artifactId>postgresql</artifactId>
61+
<scope>runtime</scope>
62+
</dependency>
63+
break;
64+
}
65+
}
4866
<dependency>
4967
<groupId>org.projectlombok</groupId>
5068
<artifactId>lombok</artifactId>

src/SmartCode.Generator/RazorTemplates/Java/Resources/Application-YAML.cshtml

+42-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
@using System.Text
2+
@using MySql.Data.MySqlClient
3+
@using Npgsql
14
@using SmartCode
25
@using SmartCode.Db
36
@model BuildContext
@@ -15,16 +18,52 @@
1518
{
1619
throw new ArgumentException("can not find Project -> BuildTasks -> [Entity] .");
1720
}
21+
22+
var driveName = "mysql";
23+
var host = "localhost";
24+
uint port = 3306;
25+
var userName = "root";
26+
var pwd = "root";
27+
var database = "smartsql_db";
28+
var appendUrl = new StringBuilder();
29+
30+
switch (dbSource.DbProvider.Name)
31+
{
32+
case SmartSql.DataSource.DbProvider.MYSQL:
33+
{
34+
driveName = "mysql";
35+
var builder= new MySqlConnectionStringBuilder(dbSource.WriteDataSource.ConnectionString);
36+
host = builder.Server;
37+
database= builder.Database;
38+
userName= builder.UserID;
39+
pwd = builder.Password;
40+
port = builder.Port;
41+
appendUrl.Append("?");
42+
appendUrl.Append("serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf-8");
43+
break;
44+
}
45+
case SmartSql.DataSource.DbProvider.POSTGRESQL:
46+
{
47+
driveName = "postgresql";
48+
var builder= new NpgsqlConnectionStringBuilder(dbSource.WriteDataSource.ConnectionString);
49+
host = builder.Host;
50+
database= builder.Database;
51+
userName= builder.Username;
52+
pwd = builder.Password;
53+
port = (uint)builder.Port;
54+
break;
55+
}
56+
}
1857
}
1958

2059
spring:
2160
application:
2261
name: @appName-service
2362

2463
datasource:
25-
url:
26-
username:
27-
password:
64+
url: jdbc:@(driveName)://@host:@port/@[email protected]()
65+
username: @userName
66+
password: @pwd
2867

2968
mybatis:
3069
mapper-locations: classpath:/mappers/*.xml

0 commit comments

Comments
 (0)