Ai
3 Star 14 Fork 8

李清灿/blog-demo博客代码示例

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
SimpleDataSource.java 2.54 KB
一键复制 编辑 原始数据 按行查看 历史
qingcan.li 提交于 2022-08-26 17:10 +08:00 . builder
package com.example.demo.builder;
/**
* 模拟一个简单的数据库连接池对象
*/
public class SimpleDataSource {
//数据库连接基本信息
private String url;
private String username;
private String password;
//连接池数量配置
private Integer initialSize;
private Integer maxSize;
public SimpleDataSource() {
}
public SimpleDataSource(String url, String username, String password, Integer initialSize, Integer maxSize) {
this.url = url;
this.username = username;
this.password = password;
this.initialSize = initialSize;
this.maxSize = maxSize;
}
@Override
public String toString() {
return "SimpleDataSource{" +
"url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
", initialSize=" + initialSize +
", maxSize=" + maxSize +
'}';
}
/**
* 获取建造者
* @return
*/
public static Builder builder(){
return new Builder();
}
/**
* 建造者类
*/
public static class Builder{
//必填部分
private String url;
private String username;
private String password;
//选填部分(有默认值)
private Integer initialSize = 10;
private Integer maxSize = 1000;
public Builder setUrl(String url) {
this.url = url;
return this;
}
public Builder setUsername(String username) {
this.username = username;
return this;
}
public Builder setPassword(String password) {
this.password = password;
return this;
}
public Builder setInitialSize(Integer initialSize) {
this.initialSize = initialSize;
return this;
}
public Builder setMaxSize(Integer maxSize) {
this.maxSize = maxSize;
return this;
}
public SimpleDataSource build() {
//校验下必填部分
if (url == null) {
throw new RuntimeException("url必填");
}
if (username == null) {
throw new RuntimeException("username必填");
}
if (password == null) {
throw new RuntimeException("password必填");
}
//创建对象
return new SimpleDataSource(url, username, password, initialSize, maxSize);
}
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/lqccan/blog-demo.git
git@gitee.com:lqccan/blog-demo.git
lqccan
blog-demo
blog-demo博客代码示例
master

搜索帮助