我正在使用Docker for mysql.需要在Dockerfile中设置系统变量,如max_allowed_packet,character_set_server和mysql的collation-server.我尝试使用Dockerfile中提供的以下命令.但它不起作用.
Dockerfile:
FROM mysql:latest
VOLUME /opt/data:/var/lib/mysql
ENV MYSQL_ROOT_PASSWORD password
RUN sed -i 's/^max_allowed_packet.*/max_allowed_packet = 1073741824/' /etc/mysql/my.cnf
RUN sed -i "/\[mysqld]/a character-set-server=utf8mb4" /etc/mysql/my.cnf
RUN sed -i 's/^collation-server.*/collation-server = utf8mb4_unicode_ci/' /etc/mysql/my.cnf
CMD ["mysqld"]
Run Code Online (Sandbox Code Playgroud)
构建命令:
sudo docker build -t mysqltest:1 .
Run Code Online (Sandbox Code Playgroud)
运行命令:
sudo docker run -p 3306:3306 -restart=always -d mysqltest:1
Run Code Online (Sandbox Code Playgroud) 我是 PostgreSQL 的新手。我需要从 spring jdbctemplate 调用 postgresql 函数来存储员工表的详细信息。下面是我使用插入查询来存储员工详细信息的代码。我需要用 Postgresql 函数“UpdateEmployee”替换插入查询。
@Autowired
JdbcTemplate postgressqljdbctemplate;
@Override
public void update(Employee employee) {
String SQL = "insert into employee(Id, name, age, salary) values (?,?,?,?)";
postgressqljdbctemplate.update(SQL, new Object[] { employee.getId(), employee.getName(),
employee.getAge(), employee.getSalary()});
}
Run Code Online (Sandbox Code Playgroud)