我有一张桌子:客户和列= [名称,姓氏,语言]
我想将所有语言列的值都更新为大写,该怎么办?
我见过upper()方法,但是它用于选择操作。我需要更新。
我想学习更多关于泛型的知识,为此我决定编写一个简单的应用程序.它允许使用检索所有实体的列表CriteriaQuery.
首先,我尝试使用type parameter(T)来生成代码.但是,我的代码甚至不会编译.为什么?
private static <T> List<T> retrieveAllT(Session session,
CriteriaBuilder criteriaBuilder, T t) {
CriteriaQuery<t> query = criteriaBuilder.createQuery(t);
Root root = query.from(t);
query.select(root);
return session.createQuery(query).getResultList();
}
Run Code Online (Sandbox Code Playgroud)
我想出了另一个解决方案.它工作正常,但编译器告诉我有关未经检查的强制转换.我理解其中的原因,但我想知道是否有可能以更优雅的方式编写这段代码(即没有未经检查的转换)?如果是这样,我该怎么做?
private static List<?> retrieveAll(Session session,
CriteriaBuilder criteriaBuilder, Class clazz) {
CriteriaQuery query = criteriaBuilder.createQuery(clazz);
Root root = query.from(clazz);
query.select(root);
return session.createQuery(query).getResultList();
}
Run Code Online (Sandbox Code Playgroud)
可以肯定的是,我知道@SuppressWarnings("unchecked").
我不确定这是怎么称呼所以我拍了一张照片.
我想显示一个用户列表,当有人点击其中一个用户时,下面会显示一些细节.再次点击它应该再次隐藏.理想情况下有一些滑动动画.它不应该覆盖列表的其余部分,所以其他一切都必须向下移动.
我希望你明白我的意思.
有人可以告诉我我应该谷歌或有一个例子吗?
我有一个旧的 Oracle 数据库,它有一个我想要理解的奇怪的怪癖。它有一个复合外键,其中一些列可以为空。对我来说,这听起来像是一个粗心的开发人员的糟糕设计,但我想征求意见。当然,原来的开发团队早已不复存在。
该表在列方面要大得多,但我认为我能够在下面的示例中提炼问题:
create table quadrant (
region number(9) not null,
area number(9) not null,
caption varchar2(20),
primary key (region, area)
);
insert into quadrant (region, area, caption) values (10, 123, 'Chicago');
insert into quadrant (region, area, caption) values (10, 125, 'Wisconsin');
create table farm (
id number(9),
region_id number(9) not null,
area_id number(9),
name varchar2(50),
constraint fk_region_area foreign key (region_id, area_id)
references quadrant (region, area)
);
insert into farm (id, region_id, area_id, name) values (5, 10, …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Oracle的非可空列中插入一个空字符串但是失败了.这是案例:
create table trademark (
name varchar2(100) not null
);
insert into trademark (name) values ('Kodak');
insert into trademark (name) values (' '); -- one space
insert into trademark (name) values (''); -- empty string
Error: ORA-01400: cannot insert NULL into ("USER1"."TRADEMARK"."NAME")
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
有什么方法可以在编译时对参数强制使用子类类型吗?
类似this但不适合实例 - 对于类?
我有课程:
public abstract class Animal {
public abstract void follow(Animal a); // <-- how to declare it?
}
Run Code Online (Sandbox Code Playgroud)
但我希望子类永远不要使用基类Animal,而只使用它自己(派生类)作为参数:
public class Fish extends Animal {
@Override
public void follow(Fish f) { // error here, since it expects Animal
tagAlong(f);
}
private void tagAlong(Fish f) {
// do something
}
}
Run Code Online (Sandbox Code Playgroud)
我希望 aFish仅使用类型的参数Fish,而不是Animal像另一个子类Parrot仅使用Parrot方法上的参数一样follow()。
我强烈希望在编译时强制执行此操作,但如果没有其他可能,则运行时是一个(不太理想的)选项。
我需要防止应用程序的核心表中的意外更改。我不希望任何人在应用程序运行期间更改行,但是,我将在部署新版本应用程序期间进行更改。例如:
create table procedure (
id int primary key not null,
name varchar(50) not null
);
insert into procedure (id, name) values (1, 'Send Exam Request');
insert into procedure (id, name) values (2, 'Confirm Exam Data');
insert into procedure (id, name) values (3, 'Close Visit');
-- Now, make the table read-only.
Run Code Online (Sandbox Code Playgroud)
太好了,该应用程序的第一个版本现已投入生产,运行良好。
下个月我部署应用程序的下一个版本时:
-- Make the table read-write.
insert into procedure (id, name) values (4, 'Request Visit'); -- new proc
delete from procedure where id = 2; -- remove old …Run Code Online (Sandbox Code Playgroud) 我想使用此代码来接收带有值的http链接:
@PostMapping(value = "/v1/notification")
public String handleNotifications(@RequestParam("notification") String itemid) {
// parse here the values
return "result successful result";
}
Run Code Online (Sandbox Code Playgroud)
如何返回http代码200-成功响应?
还有例如,如果代码处理中存在代码异常,我该如何返回错误404?
我每行有三个字段,我想将它们连接起来,按升序排列:
select * concat(field1, field2, field3) AS result
from tbl
Run Code Online (Sandbox Code Playgroud)
我的数据是:
field1, field2, field3
7 2 9
4 7 8
6 3 2
Run Code Online (Sandbox Code Playgroud)
预期的结果是:
field1, field2, field3 result
7 2 9 279
4 7 8 478
6 3 2 236
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我正在尝试为我的数据库编写一些日志过程。我用以下语句创建一个过程:
create procedure prc_wirte_log (
in p_schema varchar(255),
in p_item varchar(255),
in p_message varchar(255)
)
begin
insert into weather.log (`schema`, item, message) values (p_schema, p_item, p_message);
end;
Run Code Online (Sandbox Code Playgroud)
我得到错误 Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 7 0.063 sec
为什么?MySQL Workbench的意思是Incomplet Statment: excepting ;在插入查询之后。
我能做什么?
sql ×6
java ×4
generics ×2
oracle ×2
postgresql ×2
android ×1
constraints ×1
database ×1
foreign-keys ×1
inheritance ×1
mariadb ×1
mysql ×1
parameters ×1
procedure ×1
sorting ×1
spring ×1
spring-boot ×1